JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
applied Sanders focus_* patches, removed the unnecessary clean-prefix from the new...
[dwm.git] / event.c
diff --git a/event.c b/event.c
index 187c65e..c2288f4 100644 (file)
--- 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 */
+       }
+}
+