diff options
| author | anselm@anselm1 <unknown> | 2008-04-02 22:10:55 +0100 | 
|---|---|---|
| committer | anselm@anselm1 <unknown> | 2008-04-02 22:10:55 +0100 | 
| commit | c982bb1389c37262cbcc6ffcc343ec78528c4a81 (patch) | |
| tree | 7922ac74b7b371d901824c76f7193fc6065e50b6 | |
| parent | 6cf73e706ac8748e2e1734faad532ca3918e56c2 (diff) | |
applied Peter Hartlich's simplification patch of setmfact and his revival of MFACT, appliead Janness Hofmann's simplification of grabbuttons() -- thanks guys!
| -rw-r--r-- | config.def.h | 2 | ||||
| -rw-r--r-- | dwm.c | 64 | 
2 files changed, 24 insertions, 42 deletions
| diff --git a/config.def.h b/config.def.h index ddecedd..541e405 100644 --- a/config.def.h +++ b/config.def.h @@ -20,7 +20,7 @@ Rule rules[] = {  /* 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) @@ -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 @@ gettextprop(Window w, Atom atom, char *text, unsigned int size) {  void  grabbuttons(Client *c, Bool focused) { -	XUngrabButton(dpy, AnyButton, AnyModifier, c->win); +	int i, j; +	unsigned int buttons[]   = { Button1, Button2, Button3 }; +	unsigned int modifiers[] = { MODKEY, MODKEY|LockMask, MODKEY|numlockmask, +	                             MODKEY|numlockmask|LockMask} ; -	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); -	} +	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 @@ setlayout(const char *arg) {  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 @@ setup(void) {  	sw = DisplayWidth(dpy, screen);  	sh = DisplayHeight(dpy, screen);  	bh = dc.font.height + 2; +	mfact = MFACT;  	geom = &geoms[0];  	geom->apply(); | 
