sites

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

commit 37042049f1746230f39325d6df0399c1563e2dc1
parent dcb63b77c02d325d3548bf99bcc64b99c9b6ded9
Author: Donald Allen <donaldcallen@gmail.com>
Date:   Thu,  8 Jul 2010 17:05:41 -0400

List both standard and alternate versions of this patch. The alternate will work with pertag, whereas the standard version will not.
Diffstat:
Mdwm.suckless.org/patches/bottom_stack.md | 3++-
Adwm.suckless.org/patches/dwm-5.8.2-bstack-alt.diff | 93+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 95 insertions(+), 1 deletion(-)

diff --git a/dwm.suckless.org/patches/bottom_stack.md b/dwm.suckless.org/patches/bottom_stack.md @@ -30,5 +30,6 @@ Bottom Stack Tiling Download -------- -* [dwm-5.8.2-bstack.diff](dwm-5.8.2-bstack.diff) +* Not for use with pertag patch: [dwm-5.8.2-bstack.diff](dwm-5.8.2-bstack.diff) +* For use with pertag patch: [dwm-5.8.2-bstack-alt.diff](dwm-5.8.2-bstack-alt.diff) * see older versions in [historical patches](historical) diff --git a/dwm.suckless.org/patches/dwm-5.8.2-bstack-alt.diff b/dwm.suckless.org/patches/dwm-5.8.2-bstack-alt.diff @@ -0,0 +1,93 @@ +diff -up dwm-5.8.2-original/config.def.h dwm-5.8.2/config.def.h +--- dwm-5.8.2-original/config.def.h 2010-06-04 06:39:15.000000000 -0400 ++++ dwm-5.8.2/config.def.h 2010-07-07 14:56:15.000000000 -0400 +@@ -31,6 +31,8 @@ static const Layout layouts[] = { + { "[]=", tile }, /* first entry is default */ + { "><>", NULL }, /* no layout function means floating behavior */ + { "[M]", monocle }, ++ { "TTT", bstack }, ++ { "===", bstackhoriz }, + }; + + /* key definitions */ +diff -up dwm-5.8.2-original/dwm.c dwm-5.8.2/dwm.c +--- dwm-5.8.2-original/dwm.c 2010-06-04 06:39:15.000000000 -0400 ++++ dwm-5.8.2/dwm.c 2010-07-07 15:03:16.000000000 -0400 +@@ -158,6 +158,8 @@ static void arrange(Monitor *m); + static void arrangemon(Monitor *m); + static void attach(Client *c); + static void attachstack(Client *c); ++static void bstack(Monitor *m); ++static void bstackhoriz(Monitor *m); + static void buttonpress(XEvent *e); + static void checkotherwm(void); + static void cleanup(void); +@@ -1657,6 +1659,67 @@ tile(Monitor *m) { + if(h < bh) + h = m->wh; + for(i = 0, c = nexttiled(c->next); c; c = nexttiled(c->next), i++) { ++ resize(c, x, y, w - 2 * c->bw, /* remainder */ ((i + 1 == n) ++ ? m->wy + m->wh - y - 2 * c->bw : h - 2 * c->bw), False); ++ if(h != m->wh) ++ y = c->y + HEIGHT(c); ++ } ++} ++ ++static void ++bstack(Monitor *m) { ++ int x, y, h, w, mh; ++ unsigned int i, n; ++ Client *c; ++ ++ for(n = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), n++); ++ if(n == 0) ++ return; ++ /* master */ ++ c = nexttiled(m->clients); ++ mh = m->mfact * m->wh; ++ resize(c, m->wx, m->wy, m->ww - 2 * c->bw, (n == 1 ? m->wh : mh) - 2 * c->bw, False); ++ if(--n == 0) ++ return; ++ /* tile stack */ ++ x = m->wx; ++ y = (m->wy + mh > c->y + c->h) ? c->y + c->h + 2 * c->bw : m->wy + mh; ++ w = m->ww / n; ++ h = (m->wy + mh > c->y + c->h) ? m->wy + m->wh - y : m->wh - mh; ++ if(w < bh) ++ w = m->ww; ++ for(i = 0, c = nexttiled(c->next); c; c = nexttiled(c->next), i++) { ++ resize(c, x, y, /* remainder */ ((i + 1 == n) ++ ? m->wx + m->ww - x - 2 * c->bw : w - 2 * c->bw), h - 2 * c->bw, False); ++ if(w != m->ww) ++ x = c->x + WIDTH(c); ++ } ++} ++ ++static void ++bstackhoriz(Monitor *m) { ++ int x, y, h, w, mh; ++ unsigned int i, n; ++ Client *c; ++ ++ for(n = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), n++); ++ if(n == 0) ++ return; ++ /* master */ ++ c = nexttiled(m->clients); ++ mh = m->mfact * m->wh; ++ resize(c, m->wx, m->wy, m->ww - 2 * c->bw, (n == 1 ? m->wh : mh) - 2 * c->bw, False); ++ if(--n == 0) ++ return; ++ /* tile stack */ ++ x = m->wx; ++ y = (m->wy + mh > c->y + c->h) ? c->y + c->h + 2 * c->bw : m->wy + mh; ++ w = m->ww; ++ h = (m->wy + mh > c->y + c->h) ? m->wy + m->wh - y : m->wh - mh; ++ h /= n; ++ if(h < bh) ++ h = m->wh; ++ for(i = 0, c = nexttiled(c->next); c; c = nexttiled(c->next), i++) { + resize(c, x, y, w - 2 * c->bw, /* remainder */ ((i + 1 == n) + ? m->wy + m->wh - y - 2 * c->bw : h - 2 * c->bw), False); + if(h != m->wh) +