dwm

my fork of dwm
Index Commits 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)
 {