aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnselm R. Garbe <garbeam@gmail.com>2007-08-17 21:10:50 +0200
committerAnselm R. Garbe <garbeam@gmail.com>2007-08-17 21:10:50 +0200
commita923298d3577dca0e69fd70edbef56c7822258e3 (patch)
tree074dd57439354630152d15564a0107cbb1a1eb1a
parent04dec4c94390fdf57893615de5b5872dd5abbce4 (diff)
downloaddwm-a923298d3577dca0e69fd70edbef56c7822258e3.tar.gz
dwm-a923298d3577dca0e69fd70edbef56c7822258e3.tar.bz2
dwm-a923298d3577dca0e69fd70edbef56c7822258e3.zip
applied Jukka Salmi's setmwfact patch
-rw-r--r--config.arg.h4
-rw-r--r--config.default.h4
-rw-r--r--tile.c16
-rw-r--r--tile.h2
4 files changed, 16 insertions, 10 deletions
diff --git a/config.arg.h b/config.arg.h
index 79bdf78..5cac5b5 100644
--- a/config.arg.h
+++ b/config.arg.h
@@ -48,8 +48,8 @@ Key keys[] = { \
{ MODKEY, XK_b, togglebar, NULL }, \
{ MODKEY, XK_j, focusnext, NULL }, \
{ MODKEY, XK_k, focusprev, NULL }, \
- { MODKEY, XK_h, addtomwfact, "-0.05" }, \
- { MODKEY, XK_l, addtomwfact, "0.05" }, \
+ { MODKEY, XK_h, setmwfact, "-0.05" }, \
+ { MODKEY, XK_l, setmwfact, "+0.05" }, \
{ MODKEY, XK_m, togglemax, NULL }, \
{ MODKEY, XK_Return, zoom, NULL }, \
{ MODKEY|ShiftMask, XK_space, togglefloating, NULL }, \
diff --git a/config.default.h b/config.default.h
index 4e9a16f..dab8cc7 100644
--- a/config.default.h
+++ b/config.default.h
@@ -46,8 +46,8 @@ Key keys[] = { \
{ MODKEY, XK_b, togglebar, NULL }, \
{ MODKEY, XK_j, focusnext, NULL }, \
{ MODKEY, XK_k, focusprev, NULL }, \
- { MODKEY, XK_h, addtomwfact, "-0.05" }, \
- { MODKEY, XK_l, addtomwfact, "0.05" }, \
+ { MODKEY, XK_h, setmwfact, "-0.05" }, \
+ { MODKEY, XK_l, setmwfact, "+0.05" }, \
{ MODKEY, XK_m, togglemax, NULL }, \
{ MODKEY, XK_Return, zoom, NULL }, \
{ MODKEY|ShiftMask, XK_space, togglefloating, NULL }, \
diff --git a/tile.c b/tile.c
index 386832d..0955e63 100644
--- a/tile.c
+++ b/tile.c
@@ -9,18 +9,24 @@ static double mwfact = MWFACT;
/* extern */
void
-addtomwfact(const char *arg) {
- double delta;
+setmwfact(const char *arg) {
+ double delta, newfact;
if(!isarrange(tile))
return;
-
/* arg handling, manipulate mwfact */
if(arg == NULL)
mwfact = MWFACT;
else if(1 == sscanf(arg, "%lf", &delta)) {
- if(delta + mwfact > 0.1 && delta + mwfact < 0.9)
- mwfact += delta;
+ if(arg[0] != '+' && arg[0] != '-')
+ newfact = delta;
+ else
+ newfact = mwfact + delta;
+ if(newfact < 0.1)
+ newfact = 0.1;
+ else if(newfact > 0.9)
+ newfact = 0.9;
+ mwfact = newfact;
}
arrange();
}
diff --git a/tile.h b/tile.h
index cd4e394..38e0c76 100644
--- a/tile.h
+++ b/tile.h
@@ -1,6 +1,6 @@
/* See LICENSE file for copyright and license details. */
/* tile.c */
-void addtomwfact(const char *arg); /* adds arg value [0.1 .. 0.9] to master width factor */
+void setmwfact(const char *arg); /* sets master width factor */
void tile(void); /* arranges all windows tiled */
void zoom(const char *arg); /* zooms the focused client to master area, arg is ignored */