[dwm] simplify grabbuttons()

2008-04-02 Thread Johannes Hofmann
Hello,

below is a patch that shortens grabbuttons() a bit.

Cheers,
Johannes

PS: I really appreciate the attitude to reconsider everything from
time to time - even though I'm quite satisfied with current dwm.


diff --git a/dwm.c b/dwm.c
--- a/dwm.c
+++ b/dwm.c
@@ -805,36 +805,18 @@
 
 void
 grabbuttons(Client *c, Bool focused) {
+   unsigned int Buttons[] = {Button1, Button2, Button3};
+   unsigned int Modifiers[] = {MODKEY, MODKEY|LockMask,
+   MODKEY|numlockmask, MODKEY|numlockmask|LockMask};
+   int i, j;   
+ 
XUngrabButton(dpy, AnyButton, AnyModifier, c-win);
 
-   if(focused) {
-   XGrabButton(dpy, Button1, MODKEY, c-win, False, BUTTONMASK,
-   GrabModeAsync, GrabModeSync, None, None);
-   XGrabButton(dpy, Button1, MODKEY|LockMask, c-win, False, 
BUTTONMASK,
-   GrabModeAsync, GrabModeSync, None, None);
-   XGrabButton(dpy, Button1, MODKEY|numlockmask, c-win, False, 
BUTTONMASK,
-   GrabModeAsync, GrabModeSync, None, None);
-   XGrabButton(dpy, Button1, MODKEY|numlockmask|LockMask, c-win, 
False, BUTTONMASK,
-   GrabModeAsync, GrabModeSync, None, None);
-
-   XGrabButton(dpy, Button2, MODKEY, c-win, False, BUTTONMASK,
-   GrabModeAsync, GrabModeSync, None, None);
-   XGrabButton(dpy, Button2, MODKEY|LockMask, c-win, False, 
BUTTONMASK,
-   GrabModeAsync, GrabModeSync, None, None);
-   XGrabButton(dpy, Button2, MODKEY|numlockmask, c-win, False, 
BUTTONMASK,
-   GrabModeAsync, GrabModeSync, None, None);
-   XGrabButton(dpy, Button2, MODKEY|numlockmask|LockMask, c-win, 
False, BUTTONMASK,
-   GrabModeAsync, GrabModeSync, None, None);
-
-   XGrabButton(dpy, Button3, MODKEY, c-win, False, BUTTONMASK,
-   GrabModeAsync, GrabModeSync, None, None);
-   XGrabButton(dpy, Button3, MODKEY|LockMask, c-win, False, 
BUTTONMASK,
-   GrabModeAsync, GrabModeSync, None, None);
-   XGrabButton(dpy, Button3, MODKEY|numlockmask, c-win, False, 
BUTTONMASK,
-   GrabModeAsync, GrabModeSync, None, None);
-   XGrabButton(dpy, Button3, MODKEY|numlockmask|LockMask, c-win, 
False, BUTTONMASK,
-   GrabModeAsync, GrabModeSync, None, None);
-   }
+   if(focused)
+   for (i = 0; i  LENGTH(Buttons); i++)
+   for (j = 0; j  LENGTH(Modifiers); j++)
+   XGrabButton(dpy, Buttons[i], Modifiers[j], 
c-win, False,
+   BUTTONMASK, GrabModeAsync, 
GrabModeSync, None, None);
else
XGrabButton(dpy, AnyButton, AnyModifier, c-win, False, 
BUTTONMASK,
GrabModeAsync, GrabModeSync, None, None);



Re: [dwm] simplify grabbuttons()

2008-04-02 Thread Anselm R. Garbe
On Wed, Apr 02, 2008 at 07:01:11PM +0200, Johannes Hofmann wrote:
 below is a patch that shortens grabbuttons() a bit.

Of course this will make it to hg tip ;)

Kind regards,
-- 
 Anselm R. Garbe  http://www.suckless.org/  GPG key: 0D73F361