summary refs log tree commit diff
path: root/group.c
diff options
context:
space:
mode:
Diffstat (limited to 'group.c')
-rw-r--r--group.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/group.c b/group.c
index 78c9e51..e7a21cc 100644
--- a/group.c
+++ b/group.c
@@ -126,7 +126,8 @@ void
 group_init(struct screen_ctx *sc)
 {
 	int	 	 i;
-	u_int32_t	 viewports[2] = {0, 0}, ndesks = CALMWM_NGROUPS;
+	u_int32_t	 viewports[2] = {0, 0};
+	u_int32_t	 ndesks = CALMWM_NGROUPS, zero = 0;
 
 	TAILQ_INIT(&sc->groupq);
 	sc->group_hideall = 0;
@@ -144,6 +145,18 @@ group_init(struct screen_ctx *sc)
 	    XA_CARDINAL, 32, PropModeReplace, (unsigned char *)viewports, 2);
 	XChangeProperty(X_Dpy, sc->rootwin, _NET_NUMBER_OF_DESKTOPS,
 	    XA_CARDINAL, 32, PropModeReplace, (unsigned char *)&ndesks, 1);
+	/*
+	 * we don't use virtual roots, so make sure it's not there from a 
+	 * previous wm.
+	 */
+	XDeleteProperty(X_Dpy, sc->rootwin, _NET_VIRTUAL_ROOTS);
+	/*
+	 * We don't really have a ``showing desktop'' mode, so this is zero
+	 * always. XXX Note that when we hide all groups, or when all groups
+	 * are hidden we could technically set this later on.
+	 */
+	XChangeProperty(X_Dpy, sc->rootwin, _NET_SHOWING_DESKTOP,
+	    XA_CARDINAL, 32, PropModeReplace, (unsigned char *)&zero, 1);
 	group_setactive(sc, 0);
 }