applied Martin Hurton's movemouse() patch
Anselm R Garbe garbeam@gmail.com
Mon, 18 Aug 2008 18:23:39 +0100
M
LICENSE
→
LICENSE
@@ -7,6 +7,7 @@ © 2007 Premysl Hruby <dfenze at gmail dot com>
© 2007 Szabolcs Nagy <nszabolcs at gmail dot com> © 2007 Christof Musik <christof at sendfax dot de> © 2007-2008 Enno Gottox Boland <gottox at s01 dot de> +© 2008 Martin Hurton <martin dot hurton at gmail dot com> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"),
M
dwm.c
→
dwm.c
@@ -961,18 +961,15 @@
if(!(c = sel)) return; restack(); - ocx = nx = c->x; - ocy = ny = c->y; + ocx = c->x; + ocy = c->y; if(XGrabPointer(dpy, root, False, MOUSEMASK, GrabModeAsync, GrabModeAsync, None, cursor[CurMove], CurrentTime) != GrabSuccess) return; XQueryPointer(dpy, root, &dummy, &dummy, &x, &y, &di, &di, &dui); - for(;;) { + do { XMaskEvent(dpy, MOUSEMASK|ExposureMask|SubstructureRedirectMask, &ev); switch (ev.type) { - case ButtonRelease: - XUngrabPointer(dpy, CurrentTime); - return; case ConfigureRequest: case Expose: case MapRequest:@@ -1000,6 +997,8 @@ resize(c, nx, ny, c->w, c->h, False);
break; } } + while(ev.type != ButtonRelease); + XUngrabPointer(dpy, CurrentTime); } Client *