diff options
| author | Anselm R Garbe <garbeam@gmail.com> | 2008-03-24 14:23:28 +0000 | 
|---|---|---|
| committer | Anselm R Garbe <garbeam@gmail.com> | 2008-03-24 14:23:28 +0000 | 
| commit | a355782a7795c8c26a05e8bda1505ff46d5d0289 (patch) | |
| tree | 466aa459fb7e0bd8b641e85596b8df59237f983c | |
| parent | 20cd3360876f551c0f3b4c9c5a827a64b829e6ef (diff) | |
revival of mfact and setmfact
| -rw-r--r-- | config.def.h | 5 | ||||
| -rw-r--r-- | dwm.1 | 6 | ||||
| -rw-r--r-- | dwm.c | 21 | 
3 files changed, 31 insertions, 1 deletions
| diff --git a/config.def.h b/config.def.h index 9c15313..ddecedd 100644 --- a/config.def.h +++ b/config.def.h @@ -20,7 +20,8 @@ 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 */ -DEFGEOM(single,  0,  0, sw,  0, bh, sw, sh-bh, wx, wy, 0.55*sw, wh, mx+mw, wy, ww-mw, wh,  wx, wy, ww, wh) +double mfact = 0.55; +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)  Geom geoms[] = { @@ -51,6 +52,8 @@ Key keys[] = {  	{ MODKEY,			XK_j,		focusnext,	NULL },  	{ MODKEY,			XK_k,		focusprev,	NULL },  	{ MODKEY,			XK_r,		reapply,	NULL }, +	{ MODKEY,			XK_h,		setmfact,	"-0.05" }, +	{ MODKEY,			XK_l,		setmfact,	"+0.05" },  	{ MODKEY,			XK_Return,	zoom,		NULL },  	{ MODKEY,			XK_Tab,		viewprevtag,	NULL },  	{ MODKEY|ShiftMask,		XK_c,		killclient,	NULL }, @@ -69,6 +69,12 @@ Focus next window.  .B Mod1\-k  Focus previous window.  .TP +.B Mod1\-h +Decrease master area size. +.TP +.B Mod1\-l +Increase master area size. +.TP  .B Mod1\-Return  Zooms/cycles focused window to/from master area (tiled layouts only).  .TP @@ -178,6 +178,7 @@ void scan(void);  void setclientstate(Client *c, long state);  void setgeom(const char *arg);  void setlayout(const char *arg); +void setmfact(const char *arg);  void setup(void);  void spawn(const char *arg);  void tag(const char *arg); @@ -1463,6 +1464,26 @@ setlayout(const char *arg) {  }  void +setmfact(const char *arg) { +	double delta; + +	if(!arg) +		return; +	delta = strtod(arg, NULL); +	if(arg[0] == '-' || arg[0] == '+') { +		if(mfact + delta < 0.1 || mfact + delta > 0.9) +			return; +		mfact += delta; +	} +	else { +		if(delta < 0.1 || delta > 0.9) +			return; +		mfact = delta; +	} +	arrange(); +} + +void  setup(void) {  	unsigned int i, w;  	XSetWindowAttributes wa; | 
