From 79e432c4a8f3f3c7e1bc374e464d1b881b277f88 Mon Sep 17 00:00:00 2001 From: okan Date: Sat, 8 Feb 2014 02:49:30 +0000 Subject: Make sure we cycle through existing client's group membership and set the hidden state on the group; important to know group hidden state after a re-exec or restart of cwm (as easily seen in group menu). --- calmwm.h | 3 ++- group.c | 11 ++++++++++- screen.c | 3 ++- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/calmwm.h b/calmwm.h index 1ed41e5..e02028c 100644 --- a/calmwm.h +++ b/calmwm.h @@ -15,7 +15,7 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - * $OpenBSD: calmwm.h,v 1.258 2014/02/03 21:07:47 okan Exp $ + * $OpenBSD: calmwm.h,v 1.259 2014/02/08 02:49:30 okan Exp $ */ #ifndef _CALMWM_H_ @@ -415,6 +415,7 @@ void group_init(struct screen_ctx *); void group_menu(struct screen_ctx *); void group_movetogroup(struct client_ctx *, int); void group_only(struct screen_ctx *, int); +void group_set_state(struct screen_ctx *); void group_sticky(struct client_ctx *); void group_sticky_toggle_enter(struct client_ctx *); void group_sticky_toggle_exit(struct client_ctx *); diff --git a/group.c b/group.c index 5d8a044..67d0c41 100644 --- a/group.c +++ b/group.c @@ -16,7 +16,7 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - * $OpenBSD: group.c,v 1.86 2014/02/08 02:40:43 okan Exp $ + * $OpenBSD: group.c,v 1.87 2014/02/08 02:49:30 okan Exp $ */ #include @@ -148,6 +148,15 @@ group_init(struct screen_ctx *sc) group_setactive(sc, 1); } +void +group_set_state(struct screen_ctx *sc) +{ + struct group_ctx *gc; + + TAILQ_FOREACH(gc, &sc->groupq, entry) + group_fix_hidden_state(gc); +} + static void group_setactive(struct screen_ctx *sc, long idx) { diff --git a/screen.c b/screen.c index b718204..aa095f8 100644 --- a/screen.c +++ b/screen.c @@ -15,7 +15,7 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - * $OpenBSD: screen.c,v 1.60 2014/02/03 21:07:47 okan Exp $ + * $OpenBSD: screen.c,v 1.61 2014/02/08 02:49:30 okan Exp $ */ #include @@ -69,6 +69,7 @@ screen_init(int which) XFree(wins); } screen_updatestackingorder(sc); + group_set_state(sc); if (HasRandr) XRRSelectInput(X_Dpy, sc->rootwin, RRScreenChangeNotifyMask); -- cgit v1.2.3-2-gb3c3