dwm: Add patch to fix monocle background transparency

Source: https://old.reddit.com/r/suckless/comments/jiyl4h/hiding_background_windows_in_monocle_and_deck/ga9fmc3/
This commit is contained in:
Donovan Glover 2024-08-22 11:57:00 -04:00
parent be44fa4f99
commit ad0f0619fd
No known key found for this signature in database
GPG Key ID: EA7408A77AE1BE65
2 changed files with 33 additions and 0 deletions

View File

@ -0,0 +1,31 @@
diff --git a/dwm.c b/dwm.c
index 67c6b2b..59666f7 100644
--- a/dwm.c
+++ b/dwm.c
@@ -808,6 +808,8 @@ focus(Client *c)
XDeleteProperty(dpy, root, netatom[NetActiveWindow]);
}
selmon->sel = c;
+ if (selmon->lt[selmon->sellt]->arrange == monocle)
+ arrangemon(selmon);
drawbars();
}
@@ -1121,8 +1123,15 @@ monocle(Monitor *m)
n++;
if (n > 0) /* override layout symbol */
snprintf(m->ltsymbol, sizeof m->ltsymbol, "[%d]", n);
- for (c = nexttiled(m->clients); c; c = nexttiled(c->next))
- resize(c, m->wx, m->wy, m->ww - 2 * c->bw, m->wh - 2 * c->bw, 0);
+ for (c = m->stack; c && (!ISVISIBLE(c) || c->isfloating); c = c->snext);
+ if (c && !c->isfloating) {
+ XMoveWindow(dpy, c->win, m->wx, m->wy);
+ resize(c, m->wx, m->wy, m->ww - 2 * c->bw, m->wh - 2 * c->bw, 0);
+ c = c->snext;
+ }
+ for (; c; c = c->snext)
+ if (!c->isfloating && ISVISIBLE(c))
+ XMoveWindow(dpy, c->win, WIDTH(c) * -2, c->y);
}
void

View File

@ -113,6 +113,8 @@ in
package = pkgs.dwm.overrideAttrs (oldAttrs: {
patches = oldAttrs.patches ++ [
../assets/dwm-fix-monocle-transparency-background.patch
(pkgs.fetchpatch {
url = "https://dwm.suckless.org/patches/hide_vacant_tags/dwm-hide_vacant_tags-6.4.diff";
hash = "sha256-GIbRW0Inwbp99rsKLfIDGvPwZ3pqihROMBp5vFlHx5Q=";