| dwm-singularbordersbar-6.2.diff - sites - public wiki contents of suckless.org | |
| git clone git://git.suckless.org/sites | |
| Log | |
| Files | |
| Refs | |
| --- | |
| dwm-singularbordersbar-6.2.diff (2518B) | |
| --- | |
| 1 From f67d4db0bcef0eb4f601cd25995fd964d60b2a2d Mon Sep 17 00:00:00 2001 | |
| 2 From: aleks <[email protected]> | |
| 3 Date: Wed, 27 Jan 2021 16:52:55 +0100 | |
| 4 Subject: [PATCH] [dwm][patch] apply singularbordersbar | |
| 5 | |
| 6 `singularbordersbar` changes the way DWM handles the borders. Firstly, | |
| 7 borders against the left, right, top and bottom screen-edges are removed | |
| 8 (they are placed off-screen) and secondly, borders between clients now | |
| 9 overlap eachother. A border between the clients and the bar is also | |
| 10 created. | |
| 11 --- | |
| 12 dwm.c | 24 +++++++++++++++++++----- | |
| 13 1 file changed, 19 insertions(+), 5 deletions(-) | |
| 14 | |
| 15 diff --git a/dwm.c b/dwm.c | |
| 16 index 4465af1..d359d0a 100644 | |
| 17 --- a/dwm.c | |
| 18 +++ b/dwm.c | |
| 19 @@ -205,6 +205,7 @@ static void setup(void); | |
| 20 static void seturgent(Client *c, int urg); | |
| 21 static void showhide(Client *c); | |
| 22 static void sigchld(int unused); | |
| 23 +static int singularborder_baradjustment(Client *c); | |
| 24 static void spawn(const Arg *arg); | |
| 25 static void tag(const Arg *arg); | |
| 26 static void tagmon(const Arg *arg); | |
| 27 @@ -1112,7 +1113,8 @@ monocle(Monitor *m) | |
| 28 if (n > 0) /* override layout symbol */ | |
| 29 snprintf(m->ltsymbol, sizeof m->ltsymbol, "[%d]", n); | |
| 30 for (c = nexttiled(m->clients); c; c = nexttiled(c->next)) | |
| 31 - resize(c, m->wx, m->wy, m->ww - 2 * c->bw, m->wh - 2 * … | |
| 32 + resize(c, m->wx - c->bw, m->wy - singularborder_baradju… | |
| 33 + m->ww, m->wh - c->bw * m->showbar, False); | |
| 34 } | |
| 35 | |
| 36 void | |
| 37 @@ -1636,6 +1638,12 @@ sigchld(int unused) | |
| 38 while (0 < waitpid(-1, NULL, WNOHANG)); | |
| 39 } | |
| 40 | |
| 41 +int | |
| 42 +singularborder_baradjustment(Client *c) | |
| 43 +{ | |
| 44 + return c->bw * !(c->mon->showbar && topbar); | |
| 45 +} | |
| 46 + | |
| 47 void | |
| 48 spawn(const Arg *arg) | |
| 49 { | |
| 50 @@ -1687,12 +1695,18 @@ tile(Monitor *m) | |
| 51 for (i = my = ty = 0, c = nexttiled(m->clients); c; c = nexttil… | |
| 52 if (i < m->nmaster) { | |
| 53 h = (m->wh - my) / (MIN(n, m->nmaster) - i); | |
| 54 - resize(c, m->wx, m->wy + my, mw - (2*c->bw), h … | |
| 55 - my += HEIGHT(c); | |
| 56 + if (n == 1) | |
| 57 + resize(c, m->wx - c->bw, m->wy - singul… | |
| 58 + m->ww, m->wh - c->bw * m->showb… | |
| 59 + else | |
| 60 + resize(c, m->wx - c->bw, m->wy + my - s… | |
| 61 + mw - c->bw, h - c->bw * m->show… | |
| 62 + my += HEIGHT(c) - c->bw; | |
| 63 } else { | |
| 64 h = (m->wh - ty) / (n - i); | |
| 65 - resize(c, m->wx + mw, m->wy + ty, m->ww - mw - … | |
| 66 - ty += HEIGHT(c); | |
| 67 + resize(c, m->wx + mw - c->bw, m->wy + ty - sing… | |
| 68 + m->ww - mw, h - c->bw * m->showbar, Fal… | |
| 69 + ty += HEIGHT(c) - c->bw; | |
| 70 } | |
| 71 } | |
| 72 | |
| 73 -- | |
| 74 2.30.0 | |
| 75 |