diff --git a/calmwm.h b/calmwm.h index d524ea9..be0a08c 100644 --- a/calmwm.h +++ b/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 0505934..8552055 100644 --- a/group.c +++ b/group.c @@ -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 17d6b87..993e4fc 100644 --- a/screen.c +++ b/screen.c @@ -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);