aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorokan2014-02-08 02:49:30 +0000
committerokan2014-02-08 02:49:30 +0000
commit79e432c4a8f3f3c7e1bc374e464d1b881b277f88 (patch)
tree7c5aee51a3d711e0c09665b092fa665b023f9894
parentdc94d541fe768e85fa1652c9753a01d34df65992 (diff)
downloadcwm-79e432c4a8f3f3c7e1bc374e464d1b881b277f88.tar.gz
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).
Diffstat (limited to '')
-rw-r--r--calmwm.h3
-rw-r--r--group.c11
-rw-r--r--screen.c3
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 <sys/param.h>
@@ -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 <sys/param.h>
@@ -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);