diff options
Diffstat (limited to 'patches/11.dwm-gridmode-20170909-ceac8c9.diff')
-rw-r--r-- | patches/11.dwm-gridmode-20170909-ceac8c9.diff | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/patches/11.dwm-gridmode-20170909-ceac8c9.diff b/patches/11.dwm-gridmode-20170909-ceac8c9.diff deleted file mode 100644 index feec67b..0000000 --- a/patches/11.dwm-gridmode-20170909-ceac8c9.diff +++ /dev/null @@ -1,73 +0,0 @@ -From b04bb473cf9818277d33a591f7fe2dfae96afaaf Mon Sep 17 00:00:00 2001 -From: Joshua Haase <hahj87@gmail.com> -Date: Mon, 15 Aug 2016 17:06:18 -0500 -Subject: [PATCH] Apply modified gridmode patch. - ---- - config.def.h | 3 +++ - layouts.c | 27 +++++++++++++++++++++++++++ - 2 files changed, 30 insertions(+) - create mode 100644 layouts.c - -diff --git a/config.def.h b/config.def.h -index a9ac303..30b7c4a 100644 ---- a/config.def.h -+++ b/config.def.h -@@ -36,11 +36,13 @@ 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 "layouts.c" - static const Layout layouts[] = { - /* symbol arrange function */ - { "[]=", tile }, /* first entry is default */ - { "><>", NULL }, /* no layout function means floating behavior */ - { "[M]", monocle }, -+ { "HHH", grid }, - }; - - /* key definitions */ -@@ -76,6 +78,7 @@ static Key keys[] = { - { MODKEY, XK_t, setlayout, {.v = &layouts[0]} }, - { MODKEY, XK_f, setlayout, {.v = &layouts[1]} }, - { MODKEY, XK_m, setlayout, {.v = &layouts[2]} }, -+ { MODKEY, XK_g, setlayout, {.v = &layouts[3]} }, - { MODKEY, XK_space, setlayout, {0} }, - { MODKEY|ShiftMask, XK_space, togglefloating, {0} }, - { MODKEY, XK_0, view, {.ui = ~0 } }, -diff --git a/layouts.c b/layouts.c -new file mode 100644 -index 0000000..d26acf3 ---- /dev/null -+++ b/layouts.c -@@ -0,0 +1,27 @@ -+void -+grid(Monitor *m) { -+ unsigned int i, n, cx, cy, cw, ch, aw, ah, cols, rows; -+ Client *c; -+ -+ for(n = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next)) -+ n++; -+ -+ /* grid dimensions */ -+ for(rows = 0; rows <= n/2; rows++) -+ if(rows*rows >= n) -+ break; -+ cols = (rows && (rows - 1) * rows >= n) ? rows - 1 : rows; -+ -+ /* window geoms (cell height/width) */ -+ ch = m->wh / (rows ? rows : 1); -+ cw = m->ww / (cols ? cols : 1); -+ for(i = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next)) { -+ cx = m->wx + (i / rows) * cw; -+ cy = m->wy + (i % rows) * ch; -+ /* adjust height/width of last row/column's windows */ -+ ah = ((i + 1) % rows == 0) ? m->wh - ch * rows : 0; -+ aw = (i >= rows * (cols - 1)) ? m->ww - cw * cols : 0; -+ resize(c, cx, cy, cw - 2 * c->bw + aw, ch - 2 * c->bw + ah, False); -+ i++; -+ } -+} --- -2.14.1 - |