summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRuben Gonzalez <gonzaru@sdf.org>2026-03-13 09:23:24 -0400
committerHiltjo Posthuma <hiltjo@codemadness.org>2026-03-13 13:27:18 -0400
commit44dbc6809d05b8f2addc483f882e670db0b6b8e9 (patch)
tree00807887438324092f0ebd3bf3c44f1a5d58e7e1
parentsendmon: resize fullscreen windows to target monitor (diff)
downloaddwm-44dbc6809d05b8f2addc483f882e670db0b6b8e9.tar.gz
dwm-44dbc6809d05b8f2addc483f882e670db0b6b8e9.tar.bz2
dwm-44dbc6809d05b8f2addc483f882e670db0b6b8e9.zip
buttonpress: fix status text click area mismatch
The status bar in drawbar() calculates the text width as TEXTW(stext) - lrpad + 2. However, the click detection in buttonpress() used TEXTW(stext) without adjusting for that padding. This created an "extra" clickable area of some pixels to the left of the status text that would incorrectly trigger ClkStatusText actions instead of ClkWinTitle. Steps to reproduce: 1. Set a status text: xsetroot -name "HELLO" 2. Move the mouse to the empty space with some pixels close to the left of the word "HELLO" but in the title area. 3. Middle-click (or any binding for ClkStatusText). 4. You can see that the status bar action is triggered (default a terminal spawns), even though you clicked in the window title area. This fix ensures that the clickable area matches the visual text.
-rw-r--r--dwm.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/dwm.c b/dwm.c
index 6fe226f..ab3a84c 100644
--- a/dwm.c
+++ b/dwm.c
@@ -440,7 +440,7 @@ buttonpress(XEvent *e)
arg.ui = 1 << i;
} else if (ev->x < x + TEXTW(selmon->ltsymbol))
click = ClkLtSymbol;
- else if (ev->x > selmon->ww - (int)TEXTW(stext))
+ else if (ev->x > selmon->ww - (int)TEXTW(stext) + lrpad - 2)
click = ClkStatusText;
else
click = ClkWinTitle;