aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoroga2009-12-10 23:21:26 +0000
committeroga2009-12-10 23:21:26 +0000
commit640b7c9876ce301eafc3651136e16c191f26dd4b (patch)
treed0dc3f1467edb2978aa556249885c484f9129e09
parent067d8c9f41a0c6d9cd87c31432b56057e0da2c5d (diff)
downloadcwm-640b7c9876ce301eafc3651136e16c191f26dd4b.tar.gz
Implement _NET_VIRTUAL_ROOTS (just clear it, we don't use that technique)
and _NET_SHOWING_DESKTOP (we're never doing so right now). only three informational root-window hints to go. ok okan@
-rw-r--r--calmwm.h6
-rw-r--r--group.c17
-rw-r--r--xutil.c4
3 files changed, 22 insertions, 5 deletions
diff --git a/calmwm.h b/calmwm.h
index e191c3b..776cb37 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.
*
- * $Id: calmwm.h,v 1.105 2009/12/10 23:14:58 oga Exp $
+ * $Id: calmwm.h,v 1.106 2009/12/10 23:21:26 oga Exp $
*/
#ifndef _CALMWM_H_
@@ -536,7 +536,9 @@ extern struct conf Conf;
#define _NET_CURRENT_DESKTOP cwm_atoms[13]
#define _NET_DESKTOP_VIEWPORT cwm_atoms[14]
#define _NET_DESKTOP_GEOMETRY cwm_atoms[15]
-#define CWM_NO_ATOMS 16
+#define _NET_VIRTUAL_ROOTS cwm_atoms[16]
+#define _NET_SHOWING_DESKTOP cwm_atoms[17]
+#define CWM_NO_ATOMS 18
#define CWM_NETWM_START 7
extern Atom cwm_atoms[CWM_NO_ATOMS];
diff --git a/group.c b/group.c
index df5600a..021e485 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.
*
- * $Id: group.c,v 1.35 2009/12/10 23:14:58 oga Exp $
+ * $Id: group.c,v 1.36 2009/12/10 23:21:26 oga Exp $
*/
#include "headers.h"
@@ -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);
}
diff --git a/xutil.c b/xutil.c
index be39289..b8001ca 100644
--- a/xutil.c
+++ b/xutil.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.
*
- * $Id: xutil.c,v 1.22 2009/12/10 23:14:58 oga Exp $
+ * $Id: xutil.c,v 1.23 2009/12/10 23:21:26 oga Exp $
*/
#include "headers.h"
@@ -187,6 +187,8 @@ char *atoms[CWM_NO_ATOMS] = {
"_NET_CURRENT_DESKTOP",
"_NET_DESKTOP_VIEWPORT",
"_NET_DESKTOP_GEOMETRY",
+ "_NET_VIRTUAL_ROOTS",
+ "_NET_SHOWING_DESKTOP",
};
void