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 4cdc9db81f605d9867aa7fa63d59ea9835c9dda6 /git/dwm-sdk/commit/4cdc9db81f605d9867aa7fa63d59ea9835c9dda6.gph codevoid.de 70 1parent ad34abd2bd143529ce05dee82f9f5a1ed47a4fb7 /git/dwm-sdk/commit/ad34abd2bd143529ce05dee82f9f5a1ed47a4fb7.gph codevoid.de 70 hAuthor: Stefan Hagen URL:mailto:sh+git[at]codevoid[dot]de codevoid.de 70 iDate: Thu, 26 Dec 2019 13:34:27 +0100 Err codevoid.de 70 i Err codevoid.de 70 iadd rmaster 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 | 2 ++ Err codevoid.de 70 i M dwm.c | 27 ++++++++++++++++++++++++--- Err codevoid.de 70 i Err codevoid.de 70 i3 files changed, 28 insertions(+), 3 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@@ -3,6 +3,7 @@ Err codevoid.de 70 i /* appearance */ Err codevoid.de 70 i static const unsigned int borderpx = 1; /* border pixel of windows */ Err codevoid.de 70 i static const unsigned int snap = 32; /* snap pixel */ Err codevoid.de 70 i+static const int rmaster = 1; /* 1 means master-area is initially on the right */ Err codevoid.de 70 i static const int showbar = 1; /* 0 means no bar */ Err codevoid.de 70 i static const int topbar = 1; /* 0 means bottom bar */ Err codevoid.de 70 i static const char statussep = ';'; /* separator between status bars */ Err codevoid.de 70 it@@ -80,6 +81,7 @@ static Key keys[] = { Err codevoid.de 70 i { MODKEY, XK_m, setlayout, {.v = &layouts[2]} }, 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 i { MODKEY, XK_0, view, {.ui = ~0 } }, Err codevoid.de 70 i { MODKEY|ShiftMask, XK_0, tag, {.ui = ~0 } }, Err codevoid.de 70 i { MODKEY, XK_comma, focusmon, {.i = -1 } }, Err codevoid.de 70 1diff --git a/config.h b/config.h /git/dwm-sdk/file/config.h.gph codevoid.de 70 it@@ -17,6 +17,7 @@ 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 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@@ -112,6 +113,7 @@ static Key keys[] = { Err codevoid.de 70 i { MODKEY|ShiftMask, XK_o, spawn, {.v = notescmd } }, Err codevoid.de 70 i { MODKEY|ShiftMask, XK_t, spawn, {.v = timer } }, 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 1diff --git a/dwm.c b/dwm.c /git/dwm-sdk/file/dwm.c.gph codevoid.de 70 it@@ -141,6 +141,7 @@ struct Monitor { Err codevoid.de 70 i unsigned int seltags; Err codevoid.de 70 i unsigned int sellt; Err codevoid.de 70 i unsigned int tagset[2]; Err codevoid.de 70 i+ int rmaster; Err codevoid.de 70 i int showbar; Err codevoid.de 70 i int topbar; Err codevoid.de 70 i Client *clients; Err codevoid.de 70 it@@ -251,6 +252,7 @@ static void tagmon(const Arg *arg); Err codevoid.de 70 i static void tile(Monitor *); Err codevoid.de 70 i static void togglebar(const Arg *arg); Err codevoid.de 70 i static void togglefloating(const Arg *arg); Err codevoid.de 70 i+static void togglermaster(const Arg *arg); Err codevoid.de 70 i static void togglescratch(const Arg *arg); Err codevoid.de 70 i static void toggletag(const Arg *arg); Err codevoid.de 70 i static void toggleview(const Arg *arg); Err codevoid.de 70 it@@ -736,6 +738,7 @@ Monitor * createmon(void) Err codevoid.de 70 i m->tagset[0] = m->tagset[1] = 1; Err codevoid.de 70 i m->mfact = mfact; Err codevoid.de 70 i m->nmaster = nmaster; Err codevoid.de 70 i+ m->rmaster = rmaster; Err codevoid.de 70 i m->showbar = showbar; Err codevoid.de 70 i m->topbar = topbar; Err codevoid.de 70 i m->lt[0] = &layouts[0]; Err codevoid.de 70 it@@ -1872,7 +1875,9 @@ void tile(Monitor *m) { 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 ? m->ww * m->mfact : 0; 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 } else { Err codevoid.de 70 i mw = m->ww; Err codevoid.de 70 it@@ -1881,16 +1886,32 @@ 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- 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+ // 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 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- 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+ // 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 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+togglermaster(const Arg *arg) Err codevoid.de 70 i+{ Err codevoid.de 70 i+ selmon->rmaster = !selmon->rmaster; Err codevoid.de 70 i+ /* now mfact represents the left factor */ Err codevoid.de 70 i+ selmon->mfact = 1.0 - selmon->mfact; Err codevoid.de 70 i+ if (selmon->lt[selmon->sellt]->arrange) Err codevoid.de 70 i+ arrange(selmon); Err codevoid.de 70 i+} Err codevoid.de 70 i+ Err codevoid.de 70 i void togglebar(const Arg *arg) Err codevoid.de 70 i { Err codevoid.de 70 i selmon->showbar = !selmon->showbar; Err codevoid.de 70 .