From ad0f0619fd0ef55a3c25d1663a917288cfb46d9b Mon Sep 17 00:00:00 2001 From: Donovan Glover Date: Thu, 22 Aug 2024 11:57:00 -0400 Subject: [PATCH] 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/ --- ...-fix-monocle-transparency-background.patch | 31 +++++++++++++++++++ specializations/dwm.nix | 2 ++ 2 files changed, 33 insertions(+) create mode 100644 assets/dwm-fix-monocle-transparency-background.patch diff --git a/assets/dwm-fix-monocle-transparency-background.patch b/assets/dwm-fix-monocle-transparency-background.patch new file mode 100644 index 00000000..084e0cff --- /dev/null +++ b/assets/dwm-fix-monocle-transparency-background.patch @@ -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 diff --git a/specializations/dwm.nix b/specializations/dwm.nix index 31bc4853..4f77d3ae 100644 --- a/specializations/dwm.nix +++ b/specializations/dwm.nix @@ -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=";