tI really need column growing, now pushing upstream - dwm - [fork] customized build of dwm, the dynamic window manager
(HTM) git clone git://src.adamsgaard.dk/dwm
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
(DIR) commit 6499fc4f938eb7e61ab3e25df3904db9c890c693
(DIR) parent 04f27a54380cbd2bb24d8a86b672af34bb38d2fa
(HTM) 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
t@@ -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
t@@ -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
t@@ -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
t@@ -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
t@@ -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)
{