X-Git-Url: https://git.xinqibao.xyz/dwm.git/blobdiff_plain/3e06edeb5df0aa95614cb0b11ba1931f01b6f337..352e1b4c81d141cf60f98b38c93dd1fcd342c4a4:/event.c diff --git a/event.c b/event.c index 187c65e..c2288f4 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) @@ -119,6 +119,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 +380,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 */ + } +} +