JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
applied sanders somepatches.patch
[dwm.git] / event.c
diff --git a/event.c b/event.c
index 187c65e..1d2227d 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)
@@ -116,9 +116,15 @@ buttonpress(XEvent *e)
                                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 */
+       }
+}
+