From eecb0b8f46be52f739a3f79933db90bbf9eda28d Mon Sep 17 00:00:00 2001 From: meftimes Date: Tue, 25 Jun 2024 19:54:33 -0400 Subject: [PATCH] add bstack patch --- config.def.h | 4 ++ dwm | Bin 68448 -> 72608 bytes dwm.c | 65 ++++++++++++++++++++ dwm.o | Bin 61000 -> 62256 bytes patches/dwm-bottomstack-6.1.diff | 101 +++++++++++++++++++++++++++++++ 5 files changed, 170 insertions(+) create mode 100644 patches/dwm-bottomstack-6.1.diff diff --git a/config.def.h b/config.def.h index 84f35b0..583da86 100644 --- a/config.def.h +++ b/config.def.h @@ -44,6 +44,8 @@ static const Layout layouts[] = { { "[]=", tile }, /* first entry is default */ { "><>", NULL }, /* no layout function means floating behavior */ { "[M]", monocle }, + { "TTT", bstack }, + { "===", bstackhoriz }, }; /* key definitions */ @@ -100,6 +102,8 @@ static const 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|ShiftMask, XK_f, togglefullscr, {0} }, diff --git a/dwm b/dwm index b9a3294ecea95ad15c760afdc9d2940b2ea54246..89131553dad25572293087d8a02c3bfd8a9957ba 100755 GIT binary patch delta 29280 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 delta 27980 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 diff --git a/dwm.c b/dwm.c index 780343f..a3fc6c7 100644 --- a/dwm.c +++ b/dwm.c @@ -248,6 +248,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 bstack(Monitor *m); +static void bstackhoriz(Monitor *m); static void load_xresources(void); static void resource_load(XrmDatabase db, char *name, enum resource_type rtype, void *dst); @@ -2248,3 +2250,66 @@ main(int argc, char *argv[]) XCloseDisplay(dpy); return EXIT_SUCCESS; } + +static void +bstack(Monitor *m) { + int w, h, mh, mx, tx, ty, tw; + unsigned int i, n; + Client *c; + + for (n = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), n++); + if (n == 0) + return; + if (n > m->nmaster) { + mh = m->nmaster ? m->mfact * m->wh : 0; + tw = m->ww / (n - m->nmaster); + ty = m->wy + mh; + } else { + mh = m->wh; + tw = m->ww; + ty = m->wy; + } + for (i = mx = 0, tx = m->wx, c = nexttiled(m->clients); c; c = nexttiled(c->next), i++) { + if (i < m->nmaster) { + w = (m->ww - mx) / (MIN(n, m->nmaster) - i); + resize(c, m->wx + mx, m->wy, w - (2 * c->bw), mh - (2 * c->bw), 0); + mx += WIDTH(c); + } else { + h = m->wh - mh; + resize(c, tx, ty, tw - (2 * c->bw), h - (2 * c->bw), 0); + if (tw != m->ww) + tx += WIDTH(c); + } + } +} + +static void +bstackhoriz(Monitor *m) { + int w, mh, mx, tx, ty, th; + unsigned int i, n; + Client *c; + + for (n = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), n++); + if (n == 0) + return; + if (n > m->nmaster) { + mh = m->nmaster ? m->mfact * m->wh : 0; + th = (m->wh - mh) / (n - m->nmaster); + ty = m->wy + mh; + } else { + th = mh = m->wh; + ty = m->wy; + } + for (i = mx = 0, tx = m->wx, c = nexttiled(m->clients); c; c = nexttiled(c->next), i++) { + if (i < m->nmaster) { + w = (m->ww - mx) / (MIN(n, m->nmaster) - i); + resize(c, m->wx + mx, m->wy, w - (2 * c->bw), mh - (2 * c->bw), 0); + mx += WIDTH(c); + } else { + resize(c, tx, ty, m->ww - (2 * c->bw), th - (2 * c->bw), 0); + if (th != m->wh) + ty += HEIGHT(c); + } + } +} + diff --git a/dwm.o b/dwm.o index e889feb469e120d3daf1189d37b664e0088675b5..59657522810ccbb5d817889abd7f1b5d8e571585 100644 GIT binary patch literal 62256 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

KD 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 On@&M{8O&ho|NjE6IRwc7 delta 22300 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 z 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 ZB`R^IAzPvRQje&$-{vQOYMCt$l diff --git a/patches/dwm-bottomstack-6.1.diff b/patches/dwm-bottomstack-6.1.diff new file mode 100644 index 0000000..9fdffd5 --- /dev/null +++ b/patches/dwm-bottomstack-6.1.diff @@ -0,0 +1,101 @@ +diff --git a/config.def.h b/config.def.h +index 7054c06..554f1db 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 }, ++ { "TTT", bstack }, ++ { "===", bstackhoriz }, + }; + + /* 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..c313b5e 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 bstack(Monitor *m); ++static void bstackhoriz(Monitor *m); + + /* variables */ + static const char broken[] = "broken"; +@@ -2139,3 +2141,65 @@ main(int argc, char *argv[]) + XCloseDisplay(dpy); + return EXIT_SUCCESS; + } ++ ++static void ++bstack(Monitor *m) { ++ int w, h, mh, mx, tx, ty, tw; ++ unsigned int i, n; ++ Client *c; ++ ++ for (n = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), n++); ++ if (n == 0) ++ return; ++ if (n > m->nmaster) { ++ mh = m->nmaster ? m->mfact * m->wh : 0; ++ tw = m->ww / (n - m->nmaster); ++ ty = m->wy + mh; ++ } else { ++ mh = m->wh; ++ tw = m->ww; ++ ty = m->wy; ++ } ++ for (i = mx = 0, tx = m->wx, c = nexttiled(m->clients); c; c = nexttiled(c->next), i++) { ++ if (i < m->nmaster) { ++ w = (m->ww - mx) / (MIN(n, m->nmaster) - i); ++ resize(c, m->wx + mx, m->wy, w - (2 * c->bw), mh - (2 * c->bw), 0); ++ mx += WIDTH(c); ++ } else { ++ h = m->wh - mh; ++ resize(c, tx, ty, tw - (2 * c->bw), h - (2 * c->bw), 0); ++ if (tw != m->ww) ++ tx += WIDTH(c); ++ } ++ } ++} ++ ++static void ++bstackhoriz(Monitor *m) { ++ int w, mh, mx, tx, ty, th; ++ unsigned int i, n; ++ Client *c; ++ ++ for (n = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), n++); ++ if (n == 0) ++ return; ++ if (n > m->nmaster) { ++ mh = m->nmaster ? m->mfact * m->wh : 0; ++ th = (m->wh - mh) / (n - m->nmaster); ++ ty = m->wy + mh; ++ } else { ++ th = mh = m->wh; ++ ty = m->wy; ++ } ++ for (i = mx = 0, tx = m->wx, c = nexttiled(m->clients); c; c = nexttiled(c->next), i++) { ++ if (i < m->nmaster) { ++ w = (m->ww - mx) / (MIN(n, m->nmaster) - i); ++ resize(c, m->wx + mx, m->wy, w - (2 * c->bw), mh - (2 * c->bw), 0); ++ mx += WIDTH(c); ++ } else { ++ resize(c, tx, ty, m->ww - (2 * c->bw), th - (2 * c->bw), 0); ++ if (th != m->wh) ++ ty += HEIGHT(c); ++ } ++ } ++}