wmii

git clone git://oldgit.suckless.org/wmii/
Log | Files | Refs | README | LICENSE

commit 308405cc11ec8466466f913c2db37d1d064ca66f
parent fe2a255d09265c239a5e566965e710db11d77eea
Author: Anselm R. Garbe <garbeam@wmii.de>
Date:   Fri, 12 May 2006 20:06:06 +0200

hopefully this fixes Sanders annoyances


Diffstat:
cmd/wm/mouse.c | 29+++++++++++------------------
1 file changed, 11 insertions(+), 18 deletions(-)

diff --git a/cmd/wm/mouse.c b/cmd/wm/mouse.c @@ -9,6 +9,9 @@ #include "wm.h" +#define ButtonMask (ButtonPressMask | ButtonReleaseMask) +#define MouseMask (ButtonMask | PointerMotionMask) + static int check_vert_match(XRectangle *r, XRectangle *neighbor) { @@ -195,19 +198,13 @@ do_mouse_move(Client *c, XButtonPressedEvent *e, Bool swap) pt.y = ey; XSync(dpy, False); - if(XPending(dpy) || - (XGrabPointer(dpy, root, False, PointerMotionMask | ButtonReleaseMask, - GrabModeAsync, GrabModeAsync, None, cursor[CurMove], e->time) - != GrabSuccess)) + if(XGrabPointer(dpy, root, False, MouseMask, GrabModeAsync, GrabModeAsync, + None, cursor[CurMove], e->time) != GrabSuccess) return; XGrabServer(dpy); for(;;) { - while(!XCheckMaskEvent(dpy, ButtonReleaseMask | PointerMotionMask, &ev)) { - usleep(1000); - continue; - } - + XMaskEvent(dpy, MouseMask, &ev); switch (ev.type) { case ButtonRelease: if(!first) { @@ -241,6 +238,7 @@ do_mouse_move(Client *c, XButtonPressedEvent *e, Bool swap) snap_move(&frect, rects, num, snapw, snaph); draw_pseudo_border(&frect); break; + default: break; } } } @@ -439,19 +437,13 @@ do_mouse_resize(Client *c, XButtonPressedEvent *e, BlitzAlign align) XQueryPointer(dpy, c->framewin, &dummy, &dummy, &i, &i, &ox, &oy, &dmask); XSync(dpy, False); - if(XPending(dpy) || - (XGrabPointer(dpy, c->framewin, False, PointerMotionMask | ButtonReleaseMask, - GrabModeAsync, GrabModeAsync, None, cursor[CurResize], e->time) - != GrabSuccess)) + if(XGrabPointer(dpy, c->framewin, False, MouseMask, GrabModeAsync, GrabModeAsync, + None, cursor[CurResize], e->time) != GrabSuccess) return; XGrabServer(dpy); for(;;) { - while(!XCheckMaskEvent(dpy, ButtonReleaseMask | PointerMotionMask, &ev)) { - usleep(1000); - continue; - } - + XMaskEvent(dpy, MouseMask, &ev); switch (ev.type) { case ButtonRelease: if(!first) { @@ -481,6 +473,7 @@ do_mouse_resize(Client *c, XButtonPressedEvent *e, BlitzAlign align) ox, py, oy, snapw, snaph); draw_pseudo_border(&frect); break; + default: break; } } }