]> Skullheadx's Git Forge - dwm.git/commit
fix not updating _NET_ACTIVE_WINDOW
authorNRK <nrk@disroot.org>
Thu, 12 Feb 2026 22:28:02 +0000 (22:28 +0000)
committerHiltjo Posthuma <hiltjo@codemadness.org>
Fri, 13 Feb 2026 09:16:08 +0000 (10:16 +0100)
commit397d618f1cfbed398ef05d0c9d1e5dbcdb8144e7
tree07561f349d16318db137e000e41c1e078c04cf3c
parentf63cde9354504ee9cfecc07517c03736d0f90c26
fix not updating _NET_ACTIVE_WINDOW

currently clients that set the input field of WM_HINTS to true
(c->neverfocus) will never be updated as _NET_ACTIVE_WINDOW even
when they are focused. according to the ICCCM [0] the input
field of WM_HINTS tells the WM to either use or not use
XSetInputFocus(), it shouldn't have any relation to
_NET_ACTIVE_WINDOW. EWMH spec [1] also does not mention any
relationship between the two.

this issue was noticed when launching games via steam/proton and
noticing that _NET_ACTIVE_WINDOW was always wrong/stale (i.e not
updated to the game window).

for reference I've looked at bspwm [2] and it also seems to set
_NET_ACTIVE_WINDOW regardless of whether the client has WM_HINTS
input true or not.

[0]: https://x.org/releases/X11R7.6/doc/xorg-docs/specs/ICCCM/icccm.html#input_focus
[1]: https://specifications.freedesktop.org/wm/1.5/ar01s03.html#id-1.4.10
[2]: https://github.com/baskerville/bspwm/blob/c5cf7d3943f9a34a5cb2bab36bf473fd77e7d4f6/src/tree.c#L659-L662
dwm.c