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) | |
download | dwm-a355782a7795c8c26a05e8bda1505ff46d5d0289.tar.gz |
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 }, diff --git a/dwm.1 b/dwm.1 index 56cd2ab..a9f8cee 100644 --- a/dwm.1 +++ b/dwm.1 @@ -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 diff --git a/dwm.c b/dwm.c index e1c8c20..d264e48 100644 --- a/dwm.c +++ b/dwm.c @@ -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; |