From 6499fc4f938eb7e61ab3e25df3904db9c890c693 Mon Sep 17 00:00:00 2001 From: "Anselm R. Garbe" Date: Tue, 5 Sep 2006 09:02:37 +0200 Subject: I really need column growing, now pushing upstream --- config.arg.h | 1 + config.default.h | 1 + dwm.1 | 6 ++++++ dwm.h | 1 + view.c | 18 ++++++++++++++++++ 5 files changed, 27 insertions(+) diff --git a/config.arg.h b/config.arg.h index 7636b93c..f60079ca 100644 --- 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 index 3f46d8d7..2fff7d49 100644 --- 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 index 31ebad09..4d5da751 100644 --- 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 index e1df6bc5..0c37711b 100644 --- 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 index ac3d495d..dc10e5eb 100644 --- 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) { -- cgit v1.2.3