JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
applied Gottox' grabkey patch
[dwm.git] / dwm.c
diff --git a/dwm.c b/dwm.c
index 2a4bacc..bdef755 100644 (file)
--- a/dwm.c
+++ b/dwm.c
@@ -331,7 +331,7 @@ buttonpress(XEvent *e) {
        for(i = 0; i < LENGTH(buttons); i++)
                if(click == buttons[i].click && buttons[i].func && buttons[i].button == ev->button
                   && CLEANMASK(buttons[i].mask) == CLEANMASK(ev->state))
-                       buttons[i].func(click == ClkTagBar ? &arg : &buttons[i].arg);
+                       buttons[i].func(click == ClkTagBar && buttons[i].arg.i == 0 ? &arg : &buttons[i].arg);
 }
 
 void
@@ -763,10 +763,10 @@ grabkeys(void) {
 
                XUngrabKey(dpy, AnyKey, AnyModifier, root);
                for(i = 0; i < LENGTH(keys); i++) {
-                       code = XKeysymToKeycode(dpy, keys[i].keysym);
-                       for(j = 0; j < LENGTH(modifiers); j++)
-                               XGrabKey(dpy, code, keys[i].mod | modifiers[j], root, True,
-                                        GrabModeAsync, GrabModeAsync);
+                       if((code = XKeysymToKeycode(dpy, keys[i].keysym)))
+                               for(j = 0; j < LENGTH(modifiers); j++)
+                                       XGrabKey(dpy, code, keys[i].mod | modifiers[j], root,
+                                                True, GrabModeAsync, GrabModeAsync);
                }
        }
 }