X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;ds=sidebyside;f=event.c;h=86fb43b0424ad6275c003341fd301fd6faea5808;hb=b55bd709ee6d0b09c141bf5ffe0647866e0374ef;hp=187c65e63492d66a83f9a130325666ef9e205a4b;hpb=3e06edeb5df0aa95614cb0b11ba1931f01b6f337;p=dwm.git diff --git a/event.c b/event.c index 187c65e..86fb43b 100644 --- a/event.c +++ b/event.c @@ -18,7 +18,7 @@ typedef struct { KEYS -#define CLEANMASK(mask) (mask & ~(NUMLOCKMASK | LockMask)) +#define CLEANMASK(mask) (mask & ~(numlockmask | LockMask)) static void movemouse(Client *c) @@ -105,7 +105,9 @@ buttonpress(XEvent *e) XButtonPressedEvent *ev = &e->xbutton; if(barwin == ev->window) { - x = 0; + if(ev->x < modew) + return; + x = modew; for(a.i = 0; a.i < ntags; a.i++) { x += textw(tags[a.i]); if(ev->x < x) { @@ -119,6 +121,8 @@ buttonpress(XEvent *e) } else if((c = getclient(ev->window))) { focus(c); + if(CLEANMASK(ev->state) == 0) + return; switch(ev->button) { default: break; @@ -378,9 +382,22 @@ grabkeys() GrabModeAsync, GrabModeAsync); XGrabKey(dpy, code, key[i].mod | LockMask, root, True, GrabModeAsync, GrabModeAsync); - XGrabKey(dpy, code, key[i].mod | NUMLOCKMASK, root, True, + XGrabKey(dpy, code, key[i].mod | numlockmask, root, True, GrabModeAsync, GrabModeAsync); - XGrabKey(dpy, code, key[i].mod | NUMLOCKMASK | LockMask, root, True, + XGrabKey(dpy, code, key[i].mod | numlockmask | LockMask, root, True, GrabModeAsync, GrabModeAsync); } } + +void +procevent() +{ + XEvent ev; + + while(XPending(dpy)) { + XNextEvent(dpy, &ev); + if(handler[ev.type]) + (handler[ev.type])(&ev); /* call handler */ + } +} +