about summary refs log tree commit diff
diff options
context:
space:
mode:
authorokan <okan>2013-10-19 18:59:22 +0000
committerokan <okan>2013-10-19 18:59:22 +0000
commit083a023f2c0f36676d1015e1713ccac1b99bad59 (patch)
tree3aeb7ab03aa23a7f3abe81d139b80d3a5f3eac7e
parenta70b2d81af54121eb080d7e9f149b892f78a0b67 (diff)
downloadcwm-083a023f2c0f36676d1015e1713ccac1b99bad59.tar.gz
cwm-083a023f2c0f36676d1015e1713ccac1b99bad59.tar.xz
cwm-083a023f2c0f36676d1015e1713ccac1b99bad59.zip
I believe we redraw the border in too many cases; likely a leftover from
the cc->pwin days - don't redraw on every unhide, resize, and mouse
move/resize Expose event (note, all Expose events trigger a redraw
anyway).

Tested with some finicky X apps I could think of, though I'm sure others
will find more - if so, and they 'lose' the border, please report!
-rw-r--r--client.c3
-rw-r--r--mousefunc.c10
2 files changed, 2 insertions, 11 deletions
diff --git a/client.c b/client.c
index d1d6877..0733f88 100644
--- a/client.c
+++ b/client.c
@@ -398,8 +398,6 @@ client_resize(struct client_ctx *cc, int reset)
 		xu_ewmh_set_net_wm_state(cc);
 	}
 
-	client_draw_border(cc);
-
 	XMoveResizeWindow(X_Dpy, cc->win, cc->geom.x,
 	    cc->geom.y, cc->geom.w, cc->geom.h);
 	client_config(cc);
@@ -495,7 +493,6 @@ client_unhide(struct client_ctx *cc)
 	cc->flags &= ~CLIENT_HIDDEN;
 	cc->state = NormalState;
 	xu_set_wm_state(cc->win, cc->state);
-	client_draw_border(cc);
 }
 
 void
diff --git a/mousefunc.c b/mousefunc.c
index faf9b65..31cf951 100644
--- a/mousefunc.c
+++ b/mousefunc.c
@@ -88,12 +88,9 @@ mousefunc_client_resize(struct client_ctx *cc, void *arg)
 	mousefunc_sweep_draw(cc);
 
 	for (;;) {
-		XMaskEvent(X_Dpy, MOUSEMASK|ExposureMask, &ev);
+		XMaskEvent(X_Dpy, MOUSEMASK, &ev);
 
 		switch (ev.type) {
-		case Expose:
-			client_draw_border(cc);
-			break;
 		case MotionNotify:
 			mousefunc_sweep_calc(cc, x, y,
 			    ev.xmotion.x_root, ev.xmotion.y_root);
@@ -143,12 +140,9 @@ mousefunc_client_move(struct client_ctx *cc, void *arg)
 	xu_ptr_getpos(cc->win, &px, &py);
 
 	for (;;) {
-		XMaskEvent(X_Dpy, MOUSEMASK|ExposureMask, &ev);
+		XMaskEvent(X_Dpy, MOUSEMASK, &ev);
 
 		switch (ev.type) {
-		case Expose:
-			client_draw_border(cc);
-			break;
 		case MotionNotify:
 			cc->geom.x = ev.xmotion.x_root - px - cc->bwidth;
 			cc->geom.y = ev.xmotion.y_root - py - cc->bwidth;