I really need column growing, now pushing upstream - dwm - dynamic window manager HTML git clone https://git.parazyd.org/dwm DIR Log DIR Files DIR Refs DIR README DIR LICENSE --- DIR commit 6499fc4f938eb7e61ab3e25df3904db9c890c693 DIR parent 04f27a54380cbd2bb24d8a86b672af34bb38d2fa HTML Author: Anselm R. Garbe <arg@10kloc.org> Date: Tue, 5 Sep 2006 09:02:37 +0200 I really need column growing, now pushing upstream Diffstat: M config.arg.h | 1 + M config.default.h | 1 + M dwm.1 | 6 ++++++ M dwm.h | 1 + M view.c | 18 ++++++++++++++++++ 5 files changed, 27 insertions(+), 0 deletions(-) --- DIR diff --git a/config.arg.h b/config.arg.h @@ -34,6 +34,7 @@ static Key key[] = { \ { MODKEY, XK_k, focusprev, { 0 } }, \ { MODKEY, XK_Return, zoom, { 0 } }, \ { MODKEY, XK_m, togglemax, { 0 } }, \ + { MODKEY, XK_g, growcol, { .i = 20 } }, \ { MODKEY|ShiftMask, XK_1, tag, { .i = 0 } }, \ { MODKEY|ShiftMask, XK_2, tag, { .i = 1 } }, \ { MODKEY|ShiftMask, XK_3, tag, { .i = 2 } }, \ DIR diff --git a/config.default.h b/config.default.h @@ -29,6 +29,7 @@ static Key key[] = { \ { MODKEY|ShiftMask, XK_Tab, focusprev, { 0 } }, \ { MODKEY, XK_Return, zoom, { 0 } }, \ { MODKEY, XK_m, togglemax, { 0 } }, \ + { MODKEY, XK_g, growcol, { .i = 20 } }, \ { MODKEY|ShiftMask, XK_1, tag, { .i = 0 } }, \ { MODKEY|ShiftMask, XK_2, tag, { .i = 1 } }, \ { MODKEY|ShiftMask, XK_3, tag, { .i = 2 } }, \ DIR diff --git a/dwm.1 b/dwm.1 @@ -90,6 +90,12 @@ mode only). Maximize current .BR window . .TP +.B Mod1-g +Grow current +.BR column +.RB ( tiling +mode only). +.TP .B Mod1-Shift-[1..n] Apply .B nth tag DIR diff --git a/dwm.h b/dwm.h @@ -131,6 +131,7 @@ extern void dofloat(Arg *arg); extern void dotile(Arg *arg); extern void focusnext(Arg *arg); extern void focusprev(Arg *arg); +extern void growcol(Arg *arg); extern Bool isvisible(Client *c); extern void restack(); extern void togglemode(Arg *arg); DIR diff --git a/view.c b/view.c @@ -169,6 +169,24 @@ focusprev(Arg *arg) } } +void +growcol(Arg *arg) +{ + if(!sel || (arrange != dotile)) + return; + if(sel == getnext(clients)) { + if(mw + arg->i > sw - 100) + return; + mw += arg->i; + } + else { + if(mw - arg->i < 100) + return; + mw -= arg->i; + } + arrange(NULL); +} + Bool isvisible(Client *c) {