applied Martin Hurton's movemouse() patch

keyboard
Anselm R Garbe 17 years ago
parent 2ce50a9cad
commit 02a8ca95cf
  1. 1
      LICENSE
  2. 11
      dwm.c

@ -7,6 +7,7 @@ MIT/X Consortium License
© 2007 Szabolcs Nagy <nszabolcs at gmail dot com> © 2007 Szabolcs Nagy <nszabolcs at gmail dot com>
© 2007 Christof Musik <christof at sendfax dot de> © 2007 Christof Musik <christof at sendfax dot de>
© 2007-2008 Enno Gottox Boland <gottox at s01 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 Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"), copy of this software and associated documentation files (the "Software"),

11
dwm.c

@ -961,18 +961,15 @@ movemouse(const Arg *arg) {
if(!(c = sel)) if(!(c = sel))
return; return;
restack(); restack();
ocx = nx = c->x; ocx = c->x;
ocy = ny = c->y; ocy = c->y;
if(XGrabPointer(dpy, root, False, MOUSEMASK, GrabModeAsync, GrabModeAsync, if(XGrabPointer(dpy, root, False, MOUSEMASK, GrabModeAsync, GrabModeAsync,
None, cursor[CurMove], CurrentTime) != GrabSuccess) None, cursor[CurMove], CurrentTime) != GrabSuccess)
return; return;
XQueryPointer(dpy, root, &dummy, &dummy, &x, &y, &di, &di, &dui); XQueryPointer(dpy, root, &dummy, &dummy, &x, &y, &di, &di, &dui);
for(;;) { do {
XMaskEvent(dpy, MOUSEMASK|ExposureMask|SubstructureRedirectMask, &ev); XMaskEvent(dpy, MOUSEMASK|ExposureMask|SubstructureRedirectMask, &ev);
switch (ev.type) { switch (ev.type) {
case ButtonRelease:
XUngrabPointer(dpy, CurrentTime);
return;
case ConfigureRequest: case ConfigureRequest:
case Expose: case Expose:
case MapRequest: case MapRequest:
@ -1000,6 +997,8 @@ movemouse(const Arg *arg) {
break; break;
} }
} }
while(ev.type != ButtonRelease);
XUngrabPointer(dpy, CurrentTime);
} }
Client * Client *

Loading…
Cancel
Save