From a923298d3577dca0e69fd70edbef56c7822258e3 Mon Sep 17 00:00:00 2001 From: "Anselm R. Garbe" Date: Fri, 17 Aug 2007 21:10:50 +0200 Subject: applied Jukka Salmi's setmwfact patch --- config.arg.h | 4 ++-- config.default.h | 4 ++-- tile.c | 16 +++++++++++----- tile.h | 2 +- 4 files changed, 16 insertions(+), 10 deletions(-) diff --git a/config.arg.h b/config.arg.h index 79bdf78a..5cac5b53 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 4e9a16f3..dab8cc7d 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 386832d6..0955e635 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 cd4e394f..38e0c762 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 */ -- cgit v1.2.3