I really need column growing, now pushing upstream
authorAnselm R. Garbe <arg@10kloc.org>
Tue, 05 Sep 2006 09:02:37 +0200
changeset 415 ad2b6ce6e95b
parent 414 c6ffcc201229
child 416 e689e540607a
I really need column growing, now pushing upstream
config.arg.h
config.default.h
dwm.1
dwm.h
view.c
--- a/config.arg.h	Tue Sep 05 08:37:34 2006 +0200
+++ b/config.arg.h	Tue Sep 05 09:02:37 2006 +0200
@@ -34,6 +34,7 @@
 	{ 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 } }, \
--- a/config.default.h	Tue Sep 05 08:37:34 2006 +0200
+++ b/config.default.h	Tue Sep 05 09:02:37 2006 +0200
@@ -29,6 +29,7 @@
 	{ 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 } }, \
--- a/dwm.1	Tue Sep 05 08:37:34 2006 +0200
+++ b/dwm.1	Tue Sep 05 09:02:37 2006 +0200
@@ -90,6 +90,12 @@
 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
--- a/dwm.h	Tue Sep 05 08:37:34 2006 +0200
+++ b/dwm.h	Tue Sep 05 09:02:37 2006 +0200
@@ -131,6 +131,7 @@
 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);
--- a/view.c	Tue Sep 05 08:37:34 2006 +0200
+++ b/view.c	Tue Sep 05 09:02:37 2006 +0200
@@ -169,6 +169,24 @@
 	}
 }
 
+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)
 {