all repos — dwm @ c982bb1389c37262cbcc6ffcc343ec78528c4a81

my dwm build

applied Peter Hartlich's simplification patch of setmfact and his revival of MFACT, appliead Janness Hofmann's simplification of grabbuttons() -- thanks guys!
anselm@anselm1 unknown
Wed, 02 Apr 2008 22:10:55 +0100
commit

c982bb1389c37262cbcc6ffcc343ec78528c4a81

parent

6cf73e706ac8748e2e1734faad532ca3918e56c2

2 files changed, 24 insertions(+), 42 deletions(-)

jump to
M config.def.hconfig.def.h

@@ -20,7 +20,7 @@ };

/* geometries, s{x,y,w,h} and bh are already initualized here */ /* func name bx by bw wx wy ww wh mx my mw mh tx ty tw th mox moy mow moh */ -double mfact = 0.55; +#define MFACT 0.55 /* master width factor [0.1 .. 0.9] */ DEFGEOM(single, 0, 0, sw, 0, bh, sw, sh-bh, wx, wy, mfact*sw, wh, mx+mw, wy, ww-mw, wh, wx, wy, ww, wh) DEFGEOM(dual, 0, 0,1280, 0, bh, ww, wh-bh, wx, wy, 1280,800-bh, 1280, 0, ww-mw, sh, mx, my, mw, mh)
M dwm.cdwm.c

@@ -212,6 +212,7 @@ char stext[256], buf[256];

int screen, sx, sy, sw, sh; int (*xerrorxlib)(Display *, XErrorEvent *); int bx, by, bw, bh, blw, bgw, mx, my, mw, mh, mox, moy, mow, moh, tx, ty, tw, th, wx, wy, ww, wh; +double mfact; unsigned int numlockmask = 0; void (*handler[LASTEvent]) (XEvent *) = { [ButtonPress] = buttonpress,

@@ -805,39 +806,20 @@ }

void grabbuttons(Client *c, Bool focused) { - 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); + int i, j; + unsigned int buttons[] = { Button1, Button2, Button3 }; + unsigned int modifiers[] = { MODKEY, MODKEY|LockMask, MODKEY|numlockmask, + MODKEY|numlockmask|LockMask} ; - 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); - } + XUngrabButton(dpy, AnyButton, AnyModifier, c->win); + 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); + XGrabButton(dpy, AnyButton, AnyModifier, c->win, False, + BUTTONMASK, GrabModeAsync, GrabModeSync, None, None); } void

@@ -1467,20 +1449,19 @@ }

void setmfact(const char *arg) { - double delta; + double d; - if(!arg || lt->isfloating) + if(lt->isfloating) return; - delta = strtod(arg, NULL); - if(arg[0] == '-' || arg[0] == '+') { - if(mfact + delta < 0.1 || mfact + delta > 0.9) - return; - mfact += delta; - } + if(!arg) + mfact = MFACT; else { - if(delta < 0.1 || delta > 0.9) + d = strtod(arg, NULL); + if(arg[0] == '-' || arg[0] == '+') + d += mfact; + if(d < 0.1 || d > 0.9) return; - mfact = delta; + mfact = d; } setgeom(geom->symbol); }

@@ -1501,6 +1482,7 @@ sy = 0;

sw = DisplayWidth(dpy, screen); sh = DisplayHeight(dpy, screen); bh = dc.font.height + 2; + mfact = MFACT; geom = &geoms[0]; geom->apply();