applied Martin Hurtons resizemouse patch - dwm - dynamic window manager HTML git clone https://git.parazyd.org/dwm DIR Log DIR Files DIR Refs DIR README DIR LICENSE --- DIR commit 47f63dce550fab02f9d15aca5cec8c137125ac16 DIR parent 02a8ca95cf22d9b1da50dffffefa31fb563c3852 HTML Author: Anselm R Garbe <garbeam@gmail.com> Date: Mon, 18 Aug 2008 19:19:15 +0100 applied Martin Hurtons resizemouse patch Diffstat: M dwm.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) --- DIR diff --git a/dwm.c b/dwm.c @@ -1127,15 +1127,9 @@ resizemouse(const Arg *arg) { None, cursor[CurResize], CurrentTime) != GrabSuccess) return; XWarpPointer(dpy, None, c->win, 0, 0, 0, 0, c->w + c->bw - 1, c->h + c->bw - 1); - for(;;) { + do { XMaskEvent(dpy, MOUSEMASK|ExposureMask|SubstructureRedirectMask , &ev); switch(ev.type) { - case ButtonRelease: - XWarpPointer(dpy, None, c->win, 0, 0, 0, 0, - c->w + c->bw - 1, c->h + c->bw - 1); - XUngrabPointer(dpy, CurrentTime); - while(XCheckMaskEvent(dpy, EnterWindowMask, &ev)); - return; case ConfigureRequest: case Expose: case MapRequest: @@ -1157,6 +1151,10 @@ resizemouse(const Arg *arg) { break; } } + while(ev.type != ButtonRelease); + XWarpPointer(dpy, None, c->win, 0, 0, 0, 0, c->w + c->bw - 1, c->h + c->bw - 1); + XUngrabPointer(dpy, CurrentTime); + while(XCheckMaskEvent(dpy, EnterWindowMask, &ev)); } void