X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=event.c;h=1d2227d247fae4d568a6a1841849d01440be00f6;hb=2dd5212a795b27422d601df0566ae0d6644bd4c8;hp=5c21fcbeea6a79cef4bb1a9dd2e5c92c1bf5fc5c;hpb=4ad20ffc2c23d29329bc7349985d889f2cb45612;p=dwm.git diff --git a/event.c b/event.c index 5c21fcb..1d2227d 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) @@ -109,16 +109,22 @@ buttonpress(XEvent *e) for(a.i = 0; a.i < ntags; a.i++) { x += textw(tags[a.i]); if(ev->x < x) { - if(ev->button == Button3) - toggleview(&a); - else + if(ev->button == Button1) view(&a); + else if(ev->button == Button3) + toggleview(&a); return; } } + if(ev->x < x + bmw) { + if(ev->button == Button1) + togglemode(NULL); + } } else if((c = getclient(ev->window))) { focus(c); + if(CLEANMASK(ev->state) == 0) + return; switch(ev->button) { default: break; @@ -378,9 +384,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 */ + } +} +