it* dwm + patches Err codevoid.de 70 i Err codevoid.de 70 hgit clone git://git.codevoid.de/dwm-sdk URL:git://git.codevoid.de/dwm-sdk codevoid.de 70 1Log /git/dwm-sdk/log.gph codevoid.de 70 1Files /git/dwm-sdk/files.gph codevoid.de 70 1Refs /git/dwm-sdk/refs.gph codevoid.de 70 1README /git/dwm-sdk/file/README.gph codevoid.de 70 1LICENSE /git/dwm-sdk/file/LICENSE.gph codevoid.de 70 i--- Err codevoid.de 70 1commit 0a0cd609e30d71ecf3fbddd94393b863eee28e40 /git/dwm-sdk/commit/0a0cd609e30d71ecf3fbddd94393b863eee28e40.gph codevoid.de 70 1parent 4cdc9db81f605d9867aa7fa63d59ea9835c9dda6 /git/dwm-sdk/commit/4cdc9db81f605d9867aa7fa63d59ea9835c9dda6.gph codevoid.de 70 hAuthor: Stefan Hagen URL:mailto:sh+git[at]codevoid[dot]de codevoid.de 70 iDate: Thu, 26 Dec 2019 14:19:40 +0100 Err codevoid.de 70 i Err codevoid.de 70 ideck-patch Err codevoid.de 70 i Err codevoid.de 70 iDiffstat: Err codevoid.de 70 i M config.def.h | 2 ++ Err codevoid.de 70 i M config.h | 10 +++++----- Err codevoid.de 70 i M dwm.c | 42 ++++++++++++++++++++++++++----- Err codevoid.de 70 i Err codevoid.de 70 i3 files changed, 43 insertions(+), 11 deletions(-) Err codevoid.de 70 i--- Err codevoid.de 70 1diff --git a/config.def.h b/config.def.h /git/dwm-sdk/file/config.def.h.gph codevoid.de 70 it@@ -44,6 +44,7 @@ static const Layout layouts[] = { Err codevoid.de 70 i { "[]=", tile }, /* first entry is default */ Err codevoid.de 70 i { "><>", NULL }, /* no layout function means floating behavior */ Err codevoid.de 70 i { "[M]", monocle }, Err codevoid.de 70 i+ { "[D]", deck }, Err codevoid.de 70 i }; Err codevoid.de 70 i Err codevoid.de 70 i /* key definitions */ Err codevoid.de 70 it@@ -79,6 +80,7 @@ static Key keys[] = { Err codevoid.de 70 i { MODKEY, XK_t, setlayout, {.v = &layouts[0]} }, Err codevoid.de 70 i { MODKEY, XK_f, setlayout, {.v = &layouts[1]} }, Err codevoid.de 70 i { MODKEY, XK_m, setlayout, {.v = &layouts[2]} }, Err codevoid.de 70 i+ { MODKEY, XK_c, setlayout, {.v = &layouts[3]} }, Err codevoid.de 70 i { MODKEY, XK_space, setlayout, {0} }, Err codevoid.de 70 i { MODKEY|ShiftMask, XK_space, togglefloating, {0} }, Err codevoid.de 70 i { MODKEY, XK_r, togglermaster, {0} }, Err codevoid.de 70 1diff --git a/config.h b/config.h /git/dwm-sdk/file/config.h.gph codevoid.de 70 it@@ -13,11 +13,11 @@ static const char selbordercolor[] = "#990000"; // window border fg Err codevoid.de 70 i static const char warncolor[] = "#DE6D03"; // status bg warning Err codevoid.de 70 i static const char critcolor[] = "#B91807"; // status bg critical Err codevoid.de 70 i static const unsigned int borderpx = 1; // window border size px Err codevoid.de 70 i-static const unsigned int gappx = 8; // window gap size px Err codevoid.de 70 i+static const unsigned int gappx = 8; // window gap size px Err codevoid.de 70 i static const unsigned int snap = 8; // snap distance px Err codevoid.de 70 i static const unsigned int systrayspacing = 1; // systray spacing Err codevoid.de 70 i static const unsigned int systraypinning = 1; // 0 tray follows mouse Err codevoid.de 70 i-static const int rmaster = 1; // 1 means master-area is on the right Err codevoid.de 70 i+static const int rmaster = 0; // 1 means master-area is on the right Err codevoid.de 70 i static const int systraypinningfailfirst = 1; // 1 first screen, 0 last Err codevoid.de 70 i static const int showsystray = 1; // 0 = no systray Err codevoid.de 70 i static const int showbar = 1; // 0 = no bar Err codevoid.de 70 it@@ -59,7 +59,7 @@ static const int resizehints = 0; // 1 = respect size hints in tiles Err codevoid.de 70 i Err codevoid.de 70 i static const Layout layouts[] = { Err codevoid.de 70 i /* symbol arrange function */ Err codevoid.de 70 i- { "[T]", tile }, // first entry is default Err codevoid.de 70 i+ { "[D]", deck}, // first entry is default Err codevoid.de 70 i { "[F]", NULL }, // no layout function means floating behavior Err codevoid.de 70 i }; Err codevoid.de 70 i Err codevoid.de 70 it@@ -115,8 +115,8 @@ static Key keys[] = { Err codevoid.de 70 i { MODKEY, XK_minus, togglescratch, {.v = scratchpadcmd } }, Err codevoid.de 70 i { MODKEY|ShiftMask, XK_r, togglermaster, {0} }, Err codevoid.de 70 i { MODKEY, XK_b, togglebar, {0} }, Err codevoid.de 70 i- { MODKEY, XK_Down, focusstack, {.i = +1 } }, Err codevoid.de 70 i- { MODKEY, XK_Up, focusstack, {.i = -1 } }, Err codevoid.de 70 i+ { MODKEY, XK_Right, focusstack, {.i = +1 } }, Err codevoid.de 70 i+ { MODKEY, XK_Left, focusstack, {.i = -1 } }, Err codevoid.de 70 i { MODKEY|ShiftMask, XK_i, incnmaster, {.i = +1 } }, Err codevoid.de 70 i { MODKEY|ShiftMask, XK_d, incnmaster, {.i = -1 } }, Err codevoid.de 70 i { MODKEY, XK_m, zoom, {0} }, Err codevoid.de 70 1diff --git a/dwm.c b/dwm.c /git/dwm-sdk/file/dwm.c.gph codevoid.de 70 it@@ -192,6 +192,7 @@ static void configure(Client *c); Err codevoid.de 70 i static void configurenotify(XEvent *e); Err codevoid.de 70 i static void configurerequest(XEvent *e); Err codevoid.de 70 i static Monitor *createmon(void); Err codevoid.de 70 i+static void deck(Monitor *m); Err codevoid.de 70 i static void destroynotify(XEvent *e); Err codevoid.de 70 i static void detach(Client *c); Err codevoid.de 70 i static void detachstack(Client *c); Err codevoid.de 70 it@@ -1886,23 +1887,52 @@ void tile(Monitor *m) { Err codevoid.de 70 i for(i = 0, my = ty = gappx, c = nexttiled(m->clients); c; c = nexttiled(c->next), i++) Err codevoid.de 70 i if(i < m->nmaster) { Err codevoid.de 70 i h = (m->wh - my) / (MIN(n, m->nmaster) - i) - gappx; Err codevoid.de 70 i- // gaps: resize(c, m->wx + gappx, m->wy + my, mw - (2*c->bw) - gappx*(5-ns)/2, h - (2*c->bw), False); Err codevoid.de 70 i- // orig: resize(c, m->wx, m->wy + my, mw - (2*c->bw), h - (2*c->bw), 0); Err codevoid.de 70 i- resize(c, m->rmaster ? m->wx + m->ww - mw : m->wx, Err codevoid.de 70 i- m->wy + my, mw - (2*c->bw), h - (2*c->bw), 0); Err codevoid.de 70 i+ // gaps: resize(c, m->wx + gappx, m->wy + my, mw - (2*c->bw) - gappx*(5-ns)/2, h - (2*c->bw), False); Err codevoid.de 70 i+ // orig: resize(c, m->wx, m->wy + my, mw - (2*c->bw), h - (2*c->bw), 0); Err codevoid.de 70 i+ resize(c, (m->rmaster ? m->wx + m->ww - mw : m->wx) + gappx , m->wy + my, mw - (2*c->bw) - gappx*(5-ns)/2, h - (2*c->bw), False); Err codevoid.de 70 i my += HEIGHT(c) + gappx; Err codevoid.de 70 i } Err codevoid.de 70 i else { Err codevoid.de 70 i h = (m->wh - ty) / (n - i) - gappx; Err codevoid.de 70 i // gaps: resize(c, m->wx + mw + gappx/ns, m->wy + ty, m->ww - mw - (2*c->bw) - gappx*(5-ns)/2, h - (2*c->bw), False); Err codevoid.de 70 i // orig: resize(c, m->wx + mw, m->wy + ty, m->ww - mw - (2*c->bw), h - (2*c->bw), 0); Err codevoid.de 70 i- resize(c, m->rmaster ? m->wx : m->wx + mw, m->wy + ty, Err codevoid.de 70 i- m->ww - mw - (2*c->bw), h - (2*c->bw), 0); Err codevoid.de 70 i+ resize(c, (m->rmaster ? m->wx : m->wx + mw) + gappx/ns, m->wy + ty, m->ww - mw - (2*c->bw) - gappx*(5-ns)/2, h - (2*c->bw), False); Err codevoid.de 70 i ty += HEIGHT(c) + gappx; Err codevoid.de 70 i } Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i void Err codevoid.de 70 i+deck(Monitor *m) { Err codevoid.de 70 i+ unsigned int i, n, h, mw, my, ns; Err codevoid.de 70 i+ Client *c; Err codevoid.de 70 i+ Err codevoid.de 70 i+ for(n = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), n++); Err codevoid.de 70 i+ if(n == 0) Err codevoid.de 70 i+ return; Err codevoid.de 70 i+ Err codevoid.de 70 i+ if(n > m->nmaster) { Err codevoid.de 70 i+ mw = m->nmaster Err codevoid.de 70 i+ ? m->ww * (m->rmaster ? 1.0 - m->mfact : m->mfact) Err codevoid.de 70 i+ : 0; Err codevoid.de 70 i+ ns = m->nmaster > 0 ? 2 : 1; Err codevoid.de 70 i+ snprintf(m->ltsymbol, sizeof m->ltsymbol, "[%d]", n - m->nmaster); Err codevoid.de 70 i+ } else { Err codevoid.de 70 i+ mw = m->ww; Err codevoid.de 70 i+ ns = 1; Err codevoid.de 70 i+ } Err codevoid.de 70 i+ for(i = my = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), i++) Err codevoid.de 70 i+ if(i < m->nmaster) { Err codevoid.de 70 i+ h = (m->wh - my) / (MIN(n, m->nmaster) - i); Err codevoid.de 70 i+ resize(c, m->rmaster ? m->wx + m->ww - mw : m->wx, Err codevoid.de 70 i+ m->wy + my, mw - (2*c->bw), h - (2*c->bw), 0); Err codevoid.de 70 i+ my += HEIGHT(c); Err codevoid.de 70 i+ } Err codevoid.de 70 i+ else Err codevoid.de 70 i+ resize(c, m->rmaster ? m->wx : m->wx + mw, m->wy, Err codevoid.de 70 i+ m->ww - mw - (2*c->bw), m->wh - (2*c->bw), 0); Err codevoid.de 70 i+} Err codevoid.de 70 i+ Err codevoid.de 70 i+void Err codevoid.de 70 i togglermaster(const Arg *arg) Err codevoid.de 70 i { Err codevoid.de 70 i selmon->rmaster = !selmon->rmaster; Err codevoid.de 70 .