summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--calmwm.c12
-rw-r--r--calmwm.h5
-rw-r--r--client.c6
-rw-r--r--cwmrc.53
-rw-r--r--group.c2
-rw-r--r--xutil.c12
6 files changed, 19 insertions, 21 deletions
diff --git a/calmwm.c b/calmwm.c
index 2b4fdd9..09e006f 100644
--- a/calmwm.c
+++ b/calmwm.c
@@ -176,6 +176,12 @@ x_setupscreen(struct screen_ctx *sc, u_int which)
 
 	xu_setwmname(sc);
 
+	rootattr.event_mask = ChildMask|PropertyChangeMask|EnterWindowMask|
+	    LeaveWindowMask|ColormapChangeMask|ButtonMask;
+
+	XChangeWindowAttributes(X_Dpy, sc->rootwin,
+	    CWEventMask, &rootattr);
+
 	/* Deal with existing clients. */
 	XQueryTree(X_Dpy, sc->rootwin, &w0, &w1, &wins, &nwins);
 
@@ -190,12 +196,6 @@ x_setupscreen(struct screen_ctx *sc, u_int which)
 
 	screen_updatestackingorder(sc);
 
-	rootattr.event_mask = ChildMask|PropertyChangeMask|EnterWindowMask|
-	    LeaveWindowMask|ColormapChangeMask|ButtonMask;
-
-	XChangeWindowAttributes(X_Dpy, sc->rootwin,
-	    CWEventMask, &rootattr);
-
 	if (XineramaQueryExtension(X_Dpy, &fake, &fake) == 1 &&
 	    ((HasXinerama = XineramaIsActive(X_Dpy)) == 1))
 		HasXinerama = 1;
diff --git a/calmwm.h b/calmwm.h
index 810dd4b..88bde09 100644
--- a/calmwm.h
+++ b/calmwm.h
@@ -403,9 +403,8 @@ void			 xu_ptr_setpos(Window, int, int);
 void			 xu_ptr_getpos(Window, int *, int *);
 void			 xu_key_grab(Window, int, int);
 void			 xu_key_ungrab(Window, int, int);
-void			 xu_sendmsg(struct client_ctx *, Atom, long);
-int			 xu_getprop(struct client_ctx *, Atom, Atom, long,
-			     u_char **);
+void			 xu_sendmsg(Window, Atom, long);
+int			 xu_getprop(Window, Atom, Atom, long, u_char **);
 char			*xu_getstrprop(struct client_ctx *, Atom atm);
 void			 xu_setstate(struct client_ctx *, int);
 int			 xu_getstate(struct client_ctx *, int *);
diff --git a/client.c b/client.c
index 46f9323..d2c89c9 100644
--- a/client.c
+++ b/client.c
@@ -495,7 +495,7 @@ client_update(struct client_ctx *cc)
 	int	 i;
 	long	 n;
 
-	if ((n = xu_getprop(cc, WM_PROTOCOLS,
+	if ((n = xu_getprop(cc->win, WM_PROTOCOLS,
 		 XA_ATOM, 20L, (u_char **)&p)) <= 0)
 		return;
 
@@ -512,7 +512,7 @@ void
 client_send_delete(struct client_ctx *cc)
 {
 	if (cc->xproto & CLIENT_PROTO_DELETE)
-		xu_sendmsg(cc, WM_PROTOCOLS, WM_DELETE_WINDOW);
+		xu_sendmsg(cc->win, WM_PROTOCOLS, WM_DELETE_WINDOW);
 	else
 		XKillClient(X_Dpy, cc->win);
 }
@@ -814,7 +814,7 @@ client_gethints(struct client_ctx *cc)
 			cc->app_class = xch.res_class;
 	}
 
-	if (xu_getprop(cc, _MOTIF_WM_HINTS, _MOTIF_WM_HINTS,
+	if (xu_getprop(cc->win, _MOTIF_WM_HINTS, _MOTIF_WM_HINTS,
 	    PROP_MWM_HINTS_ELEMENTS, (u_char **)&mwmh) == MWM_NUMHINTS)
 		if (mwmh->flags & MWM_HINTS_DECORATIONS &&
 		    !(mwmh->decorations & MWM_DECOR_ALL) &&
diff --git a/cwmrc.5 b/cwmrc.5
index 66537cb..4121274 100644
--- a/cwmrc.5
+++ b/cwmrc.5
@@ -14,7 +14,7 @@
 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 .\"
-.Dd $Mdocdate: August 8 2009 $
+.Dd $Mdocdate: August 24 2009 $
 .Dt CWMRC 5
 .Os
 .Sh NAME
@@ -166,7 +166,6 @@ The
 should be followed by number:
 .Pb
 .Bl -tag -width Ds -offset indent -compact
-.Pp
 .It 1
 Left mouse button.
 .It 2
diff --git a/group.c b/group.c
index f71ba06..d88484b 100644
--- a/group.c
+++ b/group.c
@@ -426,7 +426,7 @@ group_autogroup(struct client_ctx *cc)
 
 	if (cc->app_class == NULL || cc->app_name == NULL)
 		return;
-	if (xu_getprop(cc, _NET_WM_DESKTOP, XA_CARDINAL,
+	if (xu_getprop(cc->win, _NET_WM_DESKTOP, XA_CARDINAL,
 	    1, (unsigned char **)&grpno) > 0) {
 		if (*grpno == 0xffffffff)
 			no = 0;
diff --git a/xutil.c b/xutil.c
index e59bc42..cbe7562 100644
--- a/xutil.c
+++ b/xutil.c
@@ -119,29 +119,29 @@ xu_key_ungrab(Window win, int mask, int keysym)
 }
 
 void
-xu_sendmsg(struct client_ctx *cc, Atom atm, long val)
+xu_sendmsg(Window win, Atom atm, long val)
 {
 	XEvent	 e;
 
 	memset(&e, 0, sizeof(e));
 	e.xclient.type = ClientMessage;
-	e.xclient.window = cc->win;
+	e.xclient.window = win;
 	e.xclient.message_type = atm;
 	e.xclient.format = 32;
 	e.xclient.data.l[0] = val;
 	e.xclient.data.l[1] = CurrentTime;
 
-	XSendEvent(X_Dpy, cc->win, False, 0, &e);
+	XSendEvent(X_Dpy, win, False, 0, &e);
 }
 
 int
-xu_getprop(struct client_ctx *cc, Atom atm, Atom type, long len, u_char **p)
+xu_getprop(Window win, Atom atm, Atom type, long len, u_char **p)
 {
 	Atom	 realtype;
 	u_long	 n, extra;
 	int	 format;
 
-	if (XGetWindowProperty(X_Dpy, cc->win, atm, 0L, len, False, type,
+	if (XGetWindowProperty(X_Dpy, win, atm, 0L, len, False, type,
 	    &realtype, &format, &n, &extra, p) != Success || *p == NULL)
 		return (-1);
 
@@ -156,7 +156,7 @@ xu_getstate(struct client_ctx *cc, int *state)
 {
 	long	*p = NULL;
 
-	if (xu_getprop(cc, WM_STATE, WM_STATE, 2L, (u_char **)&p) <= 0)
+	if (xu_getprop(cc->win, WM_STATE, WM_STATE, 2L, (u_char **)&p) <= 0)
 		return (-1);
 
 	*state = (int)*p;