diff options
-rw-r--r-- | config.arg.h | 1 | ||||
-rw-r--r-- | config.default.h | 1 | ||||
-rw-r--r-- | dwm.1 | 6 | ||||
-rw-r--r-- | dwm.h | 1 | ||||
-rw-r--r-- | view.c | 18 |
5 files changed, 27 insertions, 0 deletions
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 } }, \ @@ -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 @@ -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); @@ -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) { |