From 48d530ee6fa7562b2c00f16e84e5b273b03f08ab Mon Sep 17 00:00:00 2001 From: okan Date: Sat, 19 Oct 2013 18:59:22 +0000 Subject: 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! --- client.c | 5 +---- mousefunc.c | 12 +++--------- 2 files changed, 4 insertions(+), 13 deletions(-) diff --git a/client.c b/client.c index 1004390..5b3eb5c 100644 --- a/client.c +++ b/client.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. * - * $OpenBSD: client.c,v 1.138 2013/10/19 00:24:54 okan Exp $ + * $OpenBSD: client.c,v 1.139 2013/10/19 18:59:22 okan Exp $ */ #include @@ -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 12a0f81..b1fe7cf 100644 --- a/mousefunc.c +++ b/mousefunc.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. * - * $OpenBSD: mousefunc.c,v 1.56 2013/07/09 01:24:49 okan Exp $ + * $OpenBSD: mousefunc.c,v 1.57 2013/10/19 18:59:22 okan Exp $ */ #include @@ -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; -- cgit v1.2.3-2-gb3c3