From a38c7e7379d28c2c52a6b98bd0048e1ad24654f1 Mon Sep 17 00:00:00 2001 From: Hektor Misplon Date: Tue, 18 Feb 2020 15:57:59 +0000 Subject: [PATCH] Add centered master layout --- .suckless/dwm/centeredmaster.diff | 142 ++++++++++++++++++++++++++++++ .suckless/dwm/config.def.h | 4 + .suckless/dwm/config.h | 4 + .suckless/dwm/dwm | Bin 62304 -> 62448 bytes .suckless/dwm/dwm.c | 105 ++++++++++++++++++++++ .suckless/dwm/dwm.o | Bin 57536 -> 59056 bytes 6 files changed, 255 insertions(+) create mode 100644 .suckless/dwm/centeredmaster.diff diff --git a/.suckless/dwm/centeredmaster.diff b/.suckless/dwm/centeredmaster.diff new file mode 100644 index 0000000..6926892 --- /dev/null +++ b/.suckless/dwm/centeredmaster.diff @@ -0,0 +1,142 @@ +diff --git a/config.def.h b/config.def.h +index 7054c06..527b214 100644 +--- a/config.def.h ++++ b/config.def.h +@@ -39,6 +39,8 @@ static const Layout layouts[] = { + { "[]=", tile }, /* first entry is default */ + { "><>", NULL }, /* no layout function means floating behavior */ + { "[M]", monocle }, ++ { "|M|", centeredmaster }, ++ { ">M>", centeredfloatingmaster }, + }; + + /* key definitions */ +@@ -74,6 +76,8 @@ 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_u, setlayout, {.v = &layouts[3]} }, ++ { MODKEY, XK_o, setlayout, {.v = &layouts[4]} }, + { MODKEY, XK_space, setlayout, {0} }, + { MODKEY|ShiftMask, XK_space, togglefloating, {0} }, + { MODKEY, XK_0, view, {.ui = ~0 } }, +diff --git a/dwm.c b/dwm.c +index 0362114..1e81412 100644 +--- a/dwm.c ++++ b/dwm.c +@@ -233,6 +233,8 @@ static int xerror(Display *dpy, XErrorEvent *ee); + static int xerrordummy(Display *dpy, XErrorEvent *ee); + static int xerrorstart(Display *dpy, XErrorEvent *ee); + static void zoom(const Arg *arg); ++static void centeredmaster(Monitor *m); ++static void centeredfloatingmaster(Monitor *m); + + /* variables */ + static const char broken[] = "broken"; +@@ -2139,3 +2141,106 @@ main(int argc, char *argv[]) + XCloseDisplay(dpy); + return EXIT_SUCCESS; + } ++ ++void ++centeredmaster(Monitor *m) ++{ ++ unsigned int i, n, h, mw, mx, my, oty, ety, tw; ++ Client *c; ++ ++ /* count number of clients in the selected monitor */ ++ for (n = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), n++); ++ if (n == 0) ++ return; ++ ++ /* initialize areas */ ++ mw = m->ww; ++ mx = 0; ++ my = 0; ++ tw = mw; ++ ++ if (n > m->nmaster) { ++ /* go mfact box in the center if more than nmaster clients */ ++ mw = m->nmaster ? m->ww * m->mfact : 0; ++ tw = m->ww - mw; ++ ++ if (n - m->nmaster > 1) { ++ /* only one client */ ++ mx = (m->ww - mw) / 2; ++ tw = (m->ww - mw) / 2; ++ } ++ } ++ ++ oty = 0; ++ ety = 0; ++ for (i = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), i++) ++ if (i < m->nmaster) { ++ /* nmaster clients are stacked vertically, in the center ++ * of the screen */ ++ h = (m->wh - my) / (MIN(n, m->nmaster) - i); ++ resize(c, m->wx + mx, m->wy + my, mw - (2*c->bw), ++ h - (2*c->bw), 0); ++ my += HEIGHT(c); ++ } else { ++ /* stack clients are stacked vertically */ ++ if ((i - m->nmaster) % 2 ) { ++ h = (m->wh - ety) / ( (1 + n - i) / 2); ++ resize(c, m->wx, m->wy + ety, tw - (2*c->bw), ++ h - (2*c->bw), 0); ++ ety += HEIGHT(c); ++ } else { ++ h = (m->wh - oty) / ((1 + n - i) / 2); ++ resize(c, m->wx + mx + mw, m->wy + oty, ++ tw - (2*c->bw), h - (2*c->bw), 0); ++ oty += HEIGHT(c); ++ } ++ } ++} ++ ++void ++centeredfloatingmaster(Monitor *m) ++{ ++ unsigned int i, n, w, mh, mw, mx, mxo, my, myo, tx; ++ Client *c; ++ ++ /* count number of clients in the selected monitor */ ++ for (n = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), n++); ++ if (n == 0) ++ return; ++ ++ /* initialize nmaster area */ ++ if (n > m->nmaster) { ++ /* go mfact box in the center if more than nmaster clients */ ++ if (m->ww > m->wh) { ++ mw = m->nmaster ? m->ww * m->mfact : 0; ++ mh = m->nmaster ? m->wh * 0.9 : 0; ++ } else { ++ mh = m->nmaster ? m->wh * m->mfact : 0; ++ mw = m->nmaster ? m->ww * 0.9 : 0; ++ } ++ mx = mxo = (m->ww - mw) / 2; ++ my = myo = (m->wh - mh) / 2; ++ } else { ++ /* go fullscreen if all clients are in the master area */ ++ mh = m->wh; ++ mw = m->ww; ++ mx = mxo = 0; ++ my = myo = 0; ++ } ++ ++ for(i = tx = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), i++) ++ if (i < m->nmaster) { ++ /* nmaster clients are stacked horizontally, in the center ++ * of the screen */ ++ w = (mw + mxo - mx) / (MIN(n, m->nmaster) - i); ++ resize(c, m->wx + mx, m->wy + my, w - (2*c->bw), ++ mh - (2*c->bw), 0); ++ mx += WIDTH(c); ++ } else { ++ /* stack clients are stacked horizontally */ ++ w = (m->ww - tx) / (n - i); ++ resize(c, m->wx + tx, m->wy, w - (2*c->bw), ++ m->wh - (2*c->bw), 0); ++ tx += WIDTH(c); ++ } ++} diff --git a/.suckless/dwm/config.def.h b/.suckless/dwm/config.def.h index 1c0b587..c033162 100644 --- a/.suckless/dwm/config.def.h +++ b/.suckless/dwm/config.def.h @@ -41,6 +41,8 @@ static const Layout layouts[] = { { "[]=", tile }, /* first entry is default */ { "><>", NULL }, /* no layout function means floating behavior */ { "[M]", monocle }, + { "|M|", centeredmaster }, + { ">M>", centeredfloatingmaster }, }; /* key definitions */ @@ -76,6 +78,8 @@ 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_u, setlayout, {.v = &layouts[3]} }, + { MODKEY, XK_o, setlayout, {.v = &layouts[4]} }, { MODKEY, XK_space, setlayout, {0} }, { MODKEY|ShiftMask, XK_space, togglefloating, {0} }, { MODKEY, XK_0, view, {.ui = ~0 } }, diff --git a/.suckless/dwm/config.h b/.suckless/dwm/config.h index 0bbe801..bc4679c 100644 --- a/.suckless/dwm/config.h +++ b/.suckless/dwm/config.h @@ -40,6 +40,8 @@ static const Layout layouts[] = { { "[]=", tile }, /* first entry is default */ { "><>", NULL }, /* no layout function means floating behavior */ { "[M]", monocle }, + { "|M|", centeredmaster }, + { ">M>", centeredfloatingmaster }, }; /* key definitions */ @@ -75,6 +77,8 @@ 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_u, setlayout, {.v = &layouts[3]} }, + { MODKEY, XK_o, setlayout, {.v = &layouts[4]} }, { MODKEY, XK_space, setlayout, {0} }, { MODKEY|ShiftMask, XK_space, togglefloating, {0} }, { MODKEY, XK_0, view, {.ui = ~0 } }, diff --git a/.suckless/dwm/dwm b/.suckless/dwm/dwm index 3640b0654ab6843148f4324ea70995ef821573d0..366b2ee20d72516c31f8444a26324ba0be6533ad 100755 GIT binary patch delta 21029 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 zclients); c; c = nexttiled(c->next), n++); + if (n == 0) + return; + + /* initialize areas */ + mw = m->ww; + mx = 0; + my = 0; + tw = mw; + + if (n > m->nmaster) { + /* go mfact box in the center if more than nmaster clients */ + mw = m->nmaster ? m->ww * m->mfact : 0; + tw = m->ww - mw; + + if (n - m->nmaster > 1) { + /* only one client */ + mx = (m->ww - mw) / 2; + tw = (m->ww - mw) / 2; + } + } + + oty = 0; + ety = 0; + for (i = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), i++) + if (i < m->nmaster) { + /* nmaster clients are stacked vertically, in the center + * of the screen */ + h = (m->wh - my) / (MIN(n, m->nmaster) - i); + resize(c, m->wx + mx, m->wy + my, mw - (2*c->bw), + h - (2*c->bw), 0); + my += HEIGHT(c); + } else { + /* stack clients are stacked vertically */ + if ((i - m->nmaster) % 2 ) { + h = (m->wh - ety) / ( (1 + n - i) / 2); + resize(c, m->wx, m->wy + ety, tw - (2*c->bw), + h - (2*c->bw), 0); + ety += HEIGHT(c); + } else { + h = (m->wh - oty) / ((1 + n - i) / 2); + resize(c, m->wx + mx + mw, m->wy + oty, + tw - (2*c->bw), h - (2*c->bw), 0); + oty += HEIGHT(c); + } + } +} + +void +centeredfloatingmaster(Monitor *m) +{ + unsigned int i, n, w, mh, mw, mx, mxo, my, myo, tx; + Client *c; + + /* count number of clients in the selected monitor */ + for (n = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), n++); + if (n == 0) + return; + + /* initialize nmaster area */ + if (n > m->nmaster) { + /* go mfact box in the center if more than nmaster clients */ + if (m->ww > m->wh) { + mw = m->nmaster ? m->ww * m->mfact : 0; + mh = m->nmaster ? m->wh * 0.9 : 0; + } else { + mh = m->nmaster ? m->wh * m->mfact : 0; + mw = m->nmaster ? m->ww * 0.9 : 0; + } + mx = mxo = (m->ww - mw) / 2; + my = myo = (m->wh - mh) / 2; + } else { + /* go fullscreen if all clients are in the master area */ + mh = m->wh; + mw = m->ww; + mx = mxo = 0; + my = myo = 0; + } + + for(i = tx = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), i++) + if (i < m->nmaster) { + /* nmaster clients are stacked horizontally, in the center + * of the screen */ + w = (mw + mxo - mx) / (MIN(n, m->nmaster) - i); + resize(c, m->wx + mx, m->wy + my, w - (2*c->bw), + mh - (2*c->bw), 0); + mx += WIDTH(c); + } else { + /* stack clients are stacked horizontally */ + w = (m->ww - tx) / (n - i); + resize(c, m->wx + tx, m->wy, w - (2*c->bw), + m->wh - (2*c->bw), 0); + tx += WIDTH(c); + } +} diff --git a/.suckless/dwm/dwm.o b/.suckless/dwm/dwm.o index 88f3bde07addba47281f3c35196d88ccfdce33a1..48b8055a94bab099ba9f7fac22a2da4dc3fc1bc6 100644 GIT binary patch delta 21043 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 IJ|~*}KUT6ir2qf`