dwm

dynamic window manager
git clone git://git.suckless.org/dwm
Log | Files | Refs | README | LICENSE

commit 6499fc4f938eb7e61ab3e25df3904db9c890c693
parent 04f27a54380cbd2bb24d8a86b672af34bb38d2fa
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:
Mconfig.arg.h | 1+
Mconfig.default.h | 1+
Mdwm.1 | 6++++++
Mdwm.h | 1+
Mview.c | 18++++++++++++++++++
5 files changed, 27 insertions(+), 0 deletions(-)

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 } }, \ 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 } }, \ 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 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); 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) {