aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoroga2009-12-07 23:19:51 +0000
committeroga2009-12-07 23:19:51 +0000
commit0b0dd2e0d919b5b7aeede0dfc2c20b1c9147753d (patch)
treebb393f746141cfd1dca20eb8725df314e0294659
parentff7157bb69ba801513b0ee6af1db2cde51ac62aa (diff)
downloadcwm-0b0dd2e0d919b5b7aeede0dfc2c20b1c9147753d.tar.gz
Implement _NET_NUMBER_OF_DESKTOPS, currently this is statically 9 and
unchangable. the group code needs some cleaning up before this will be a bit less hackish. ok okan@
-rw-r--r--calmwm.c11
-rw-r--r--calmwm.h6
-rw-r--r--group.c4
-rw-r--r--xutil.c3
4 files changed, 16 insertions, 8 deletions
diff --git a/calmwm.c b/calmwm.c
index 7431a89..419b960 100644
--- a/calmwm.c
+++ b/calmwm.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: calmwm.c,v 1.44 2009/12/07 21:20:52 okan Exp $
+ * $Id: calmwm.c,v 1.45 2009/12/07 23:19:51 oga Exp $
*/
#include "headers.h"
@@ -147,7 +147,7 @@ x_setupscreen(struct screen_ctx *sc, u_int which)
XWindowAttributes winattr;
XSetWindowAttributes rootattr;
int fake;
- u_int nwins, i;
+ u_int ndesks = CALMWM_NGROUPS, nwins, i;
Curscreen = sc;
@@ -166,6 +166,13 @@ x_setupscreen(struct screen_ctx *sc, u_int which)
/* Initialize menu window. */
menu_init(sc);
+ /*
+ * XXX this probably should be somewhere else, but since it's a
+ * static value for now it does ok.
+ */
+ XChangeProperty(X_Dpy, sc->rootwin, _NET_NUMBER_OF_DESKTOPS,
+ XA_CARDINAL, 32, PropModeReplace, (unsigned char *)&ndesks, 1);
+
xu_setwmname(sc);
/* Deal with existing clients. */
diff --git a/calmwm.h b/calmwm.h
index cc9d089..60d8a52 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.101 2009/12/07 22:46:15 oga Exp $
+ * $Id: calmwm.h,v 1.102 2009/12/07 23:19:51 oga Exp $
*/
#ifndef _CALMWM_H_
@@ -159,6 +159,7 @@ TAILQ_HEAD(client_ctx_q, client_ctx);
extern const char *shortcut_to_name[];
+#define CALMWM_NGROUPS 9
struct group_ctx {
TAILQ_ENTRY(group_ctx) entry;
struct client_ctx_q clients;
@@ -528,7 +529,8 @@ extern struct conf Conf;
#define _NET_WM_NAME cwm_atoms[9]
#define _NET_ACTIVE_WINDOW cwm_atoms[10]
#define _NET_CLIENT_LIST cwm_atoms[11]
-#define CWM_NO_ATOMS 12
+#define _NET_NUMBER_OF_DESKTOPS cwm_atoms[12]
+#define CWM_NO_ATOMS 13
#define CWM_NETWM_START 7
extern Atom cwm_atoms[CWM_NO_ATOMS];
diff --git a/group.c b/group.c
index ef63409..5409dcb 100644
--- a/group.c
+++ b/group.c
@@ -16,14 +16,12 @@
* 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.32 2009/06/20 00:55:42 okan Exp $
+ * $Id: group.c,v 1.33 2009/12/07 23:19:51 oga Exp $
*/
#include "headers.h"
#include "calmwm.h"
-#define CALMWM_NGROUPS 9
-
static void group_add(struct group_ctx *, struct client_ctx *);
static void group_remove(struct client_ctx *);
static void group_hide(struct group_ctx *);
diff --git a/xutil.c b/xutil.c
index e1577dd..6b3d95b 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.20 2009/12/07 22:46:15 oga Exp $
+ * $Id: xutil.c,v 1.21 2009/12/07 23:19:51 oga Exp $
*/
#include "headers.h"
@@ -183,6 +183,7 @@ char *atoms[CWM_NO_ATOMS] = {
"_NET_WM_NAME",
"_NET_ACTIVE_WINDOW",
"_NET_CLIENT_LIST",
+ "_NET_NUMBER_OF_DESKTOPS",
};
void