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@
This commit is contained in:
oga 2009-12-07 23:19:51 +00:00
parent 728d2a40dd
commit aa88d5848e
4 changed files with 12 additions and 4 deletions

View File

@ -147,7 +147,7 @@ x_setupscreen(struct screen_ctx *sc, u_int which)
XWindowAttributes winattr; XWindowAttributes winattr;
XSetWindowAttributes rootattr; XSetWindowAttributes rootattr;
int fake; int fake;
u_int nwins, i; u_int ndesks = CALMWM_NGROUPS, nwins, i;
Curscreen = sc; Curscreen = sc;
@ -166,6 +166,13 @@ x_setupscreen(struct screen_ctx *sc, u_int which)
/* Initialize menu window. */ /* Initialize menu window. */
menu_init(sc); 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); xu_setwmname(sc);
/* Deal with existing clients. */ /* Deal with existing clients. */

View File

@ -159,6 +159,7 @@ TAILQ_HEAD(client_ctx_q, client_ctx);
extern const char *shortcut_to_name[]; extern const char *shortcut_to_name[];
#define CALMWM_NGROUPS 9
struct group_ctx { struct group_ctx {
TAILQ_ENTRY(group_ctx) entry; TAILQ_ENTRY(group_ctx) entry;
struct client_ctx_q clients; struct client_ctx_q clients;
@ -528,7 +529,8 @@ extern struct conf Conf;
#define _NET_WM_NAME cwm_atoms[9] #define _NET_WM_NAME cwm_atoms[9]
#define _NET_ACTIVE_WINDOW cwm_atoms[10] #define _NET_ACTIVE_WINDOW cwm_atoms[10]
#define _NET_CLIENT_LIST cwm_atoms[11] #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 #define CWM_NETWM_START 7
extern Atom cwm_atoms[CWM_NO_ATOMS]; extern Atom cwm_atoms[CWM_NO_ATOMS];

View File

@ -22,8 +22,6 @@
#include "headers.h" #include "headers.h"
#include "calmwm.h" #include "calmwm.h"
#define CALMWM_NGROUPS 9
static void group_add(struct group_ctx *, struct client_ctx *); static void group_add(struct group_ctx *, struct client_ctx *);
static void group_remove(struct client_ctx *); static void group_remove(struct client_ctx *);
static void group_hide(struct group_ctx *); static void group_hide(struct group_ctx *);

View File

@ -183,6 +183,7 @@ char *atoms[CWM_NO_ATOMS] = {
"_NET_WM_NAME", "_NET_WM_NAME",
"_NET_ACTIVE_WINDOW", "_NET_ACTIVE_WINDOW",
"_NET_CLIENT_LIST", "_NET_CLIENT_LIST",
"_NET_NUMBER_OF_DESKTOPS",
}; };
void void