dwm-focusedborder-6.8.diff (1253B)
1 From c8db7977d3d9332ca71987d2e0833a81e4fb2b99 Mon Sep 17 00:00:00 2001 2 From: venus brock <venus@brock-v.dev> 3 Date: Sun, 15 Feb 2026 16:11:13 -0600 4 Subject: [PATCH] only display border on focused window 5 6 This patch removes the borders on all unfocused windows, and resizes 7 windows to use the space left behind. 8 --- 9 dwm.c | 13 ++++++++++++- 10 1 file changed, 12 insertions(+), 1 deletion(-) 11 12 diff --git a/dwm.c b/dwm.c 13 index 53b393e..0ea2e9a 100644 14 --- a/dwm.c 15 +++ b/dwm.c 16 @@ -800,6 +800,12 @@ focus(Client *c) 17 detachstack(c); 18 attachstack(c); 19 grabbuttons(c, 1); 20 + if (!c->bw) { 21 + c->bw = borderpx; 22 + c->w -= borderpx * 2; 23 + c->h -= borderpx * 2; 24 + resizeclient(c, c->x, c->y, c->w, c->h); 25 + } 26 XSetWindowBorder(dpy, c->win, scheme[SchemeSel][ColBorder].pixel); 27 setfocus(c); 28 } else { 29 @@ -1768,7 +1774,12 @@ unfocus(Client *c, int setfocus) 30 if (!c) 31 return; 32 grabbuttons(c, 0); 33 - XSetWindowBorder(dpy, c->win, scheme[SchemeNorm][ColBorder].pixel); 34 + if (c->bw) { 35 + c->bw = 0; 36 + c->w += borderpx * 2; 37 + c->h += borderpx * 2; 38 + resizeclient(c, c->x, c->y, c->w, c->h); 39 + } 40 if (setfocus) { 41 XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime); 42 XDeleteProperty(dpy, root, netatom[NetActiveWindow]); 43 -- 44 2.53.0 45