X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=event.c;h=86fb43b0424ad6275c003341fd301fd6faea5808;hb=b55bd709ee6d0b09c141bf5ffe0647866e0374ef;hp=5c21fcbeea6a79cef4bb1a9dd2e5c92c1bf5fc5c;hpb=4ad20ffc2c23d29329bc7349985d889f2cb45612;p=dwm.git diff --git a/event.c b/event.c index 5c21fcb..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,20 +105,24 @@ 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) { - if(ev->button == Button3) - toggleview(&a); - else + if(ev->button == Button1) view(&a); + else if(ev->button == Button3) + toggleview(&a); return; } } } 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 */ + } +} +