From 7c01eac9a7e543a78240c36e254a51ea2907aed7 Mon Sep 17 00:00:00 2001 From: Jonathan Hodgson Date: Tue, 28 May 2019 15:40:54 +0100 Subject: [PATCH 1/4] Adds shortcut for lock / shutdown --- config.def.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config.def.h b/config.def.h index 4e3a05c..04fbe36 100644 --- a/config.def.h +++ b/config.def.h @@ -79,6 +79,8 @@ static const char *date[] = { "datetime", NULL }; static const char *playpause[] = { "playerctl", "play-pause", NULL }; +static const char *logout[] = { "rofi-shutdown", NULL }; + #include "movestack.c" static Key keys[] = { /* modifier key function argument */ @@ -93,6 +95,7 @@ static Key keys[] = { { MODKEY, XK_d, incnmaster, {.i = -1 } }, { MODKEY, XK_h, setmfact, {.f = -0.05} }, { MODKEY, XK_l, setmfact, {.f = +0.05} }, + { MODKEY|ShiftMask, XK_l, spawn, {.v = logout} }, { MODKEY|ShiftMask, XK_Return, zoom, {0} }, { MODKEY, XK_Tab, view, {0} }, { MODKEY, XK_q, killclient, {0} }, From e73c4b4391ee773a32919cad88e5965b0af78c73 Mon Sep 17 00:00:00 2001 From: Jonathan Hodgson Date: Tue, 28 May 2019 16:58:33 +0100 Subject: [PATCH 2/4] Stops atatch after --- config.def.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.def.h b/config.def.h index 04fbe36..42bd34c 100644 --- a/config.def.h +++ b/config.def.h @@ -38,7 +38,7 @@ static const Rule rules[] = { static const float mfact = 0.55; /* factor of master area size [0.05..0.95] */ static const int nmaster = 1; /* number of clients in master area */ static const int resizehints = 0; /* 1 means respect size hints in tiled resizals */ -static const int attachbelow = 1; /* 1 means attach after the currently active window */ +static const int attachbelow = 0; /* 1 means attach after the currently active window */ #include "tcl.c" From 8c445b5368af2ea0f95fd70e4e4b2735573ffc21 Mon Sep 17 00:00:00 2001 From: Jonathan Hodgson Date: Tue, 28 May 2019 17:01:46 +0100 Subject: [PATCH 3/4] Applies the fibonachi patch --- config.def.h | 3 +++ fibonacci.c | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 fibonacci.c diff --git a/config.def.h b/config.def.h index 1c0b587..f5e4bf1 100644 --- a/config.def.h +++ b/config.def.h @@ -36,11 +36,14 @@ static const float mfact = 0.55; /* factor of master area size [0.05..0.95] static const int nmaster = 1; /* number of clients in master area */ static const int resizehints = 1; /* 1 means respect size hints in tiled resizals */ +#include "fibonacci.c" static const Layout layouts[] = { /* symbol arrange function */ { "[]=", tile }, /* first entry is default */ { "><>", NULL }, /* no layout function means floating behavior */ { "[M]", monocle }, + { "[@]", spiral }, + { "[\\]", dwindle }, }; /* key definitions */ diff --git a/fibonacci.c b/fibonacci.c new file mode 100644 index 0000000..fce0a57 --- /dev/null +++ b/fibonacci.c @@ -0,0 +1,66 @@ +void +fibonacci(Monitor *mon, int s) { + unsigned int i, n, nx, ny, nw, nh; + Client *c; + + for(n = 0, c = nexttiled(mon->clients); c; c = nexttiled(c->next), n++); + if(n == 0) + return; + + nx = mon->wx; + ny = 0; + nw = mon->ww; + nh = mon->wh; + + for(i = 0, c = nexttiled(mon->clients); c; c = nexttiled(c->next)) { + if((i % 2 && nh / 2 > 2 * c->bw) + || (!(i % 2) && nw / 2 > 2 * c->bw)) { + if(i < n - 1) { + if(i % 2) + nh /= 2; + else + nw /= 2; + if((i % 4) == 2 && !s) + nx += nw; + else if((i % 4) == 3 && !s) + ny += nh; + } + if((i % 4) == 0) { + if(s) + ny += nh; + else + ny -= nh; + } + else if((i % 4) == 1) + nx += nw; + else if((i % 4) == 2) + ny += nh; + else if((i % 4) == 3) { + if(s) + nx += nw; + else + nx -= nw; + } + if(i == 0) + { + if(n != 1) + nw = mon->ww * mon->mfact; + ny = mon->wy; + } + else if(i == 1) + nw = mon->ww - nw; + i++; + } + resize(c, nx, ny, nw - 2 * c->bw, nh - 2 * c->bw, False); + } +} + +void +dwindle(Monitor *mon) { + fibonacci(mon, 1); +} + +void +spiral(Monitor *mon) { + fibonacci(mon, 0); +} From e6218d57b89432c188885eac956c986a2f5bae29 Mon Sep 17 00:00:00 2001 From: Jonathan Hodgson Date: Wed, 29 May 2019 19:40:39 +0100 Subject: [PATCH 4/4] Adds shortcut for fibonachi layout --- config.def.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/config.def.h b/config.def.h index afc73c8..a5c2aea 100644 --- a/config.def.h +++ b/config.def.h @@ -50,7 +50,7 @@ static const Layout layouts[] = { { "[M]", monocle }, { "|||", tcl }, { "[@]", spiral }, - { "[\\]", dwindle }, + { "[\\]", dwindle }, }; /* key definitions */ @@ -103,9 +103,10 @@ static Key keys[] = { { MODKEY, XK_Tab, view, {0} }, { MODKEY, XK_q, killclient, {0} }, { MODKEY, XK_t, setlayout, {.v = &layouts[0]} }, - { MODKEY, XK_f, setlayout, {.v = &layouts[1]} }, { MODKEY, XK_m, setlayout, {.v = &layouts[2]} }, { MODKEY|ShiftMask, XK_t, setlayout, {.v = &layouts[3]} }, + { MODKEY, XK_f, setlayout, {.v = &layouts[4]} }, + { MODKEY|ShiftMask, XK_f, setlayout, {.v = &layouts[5]} }, { MODKEY, XK_space, setlayout, {0} }, { MODKEY|ShiftMask, XK_space, togglefloating, {0} }, { MODKEY, XK_0, view, {.ui = ~0 } },