Skip to content

Commit

Permalink
X.H.EwmhDesktops: Fix _NET_ACTIVE_WINDOW requests from pagers being i…
Browse files Browse the repository at this point in the history
…gnored

This makes window switching apps like rofi and alttab able to activate
windows even if the logHook doesn't activate them (which it doesn't by
default, and that's a regression).

Related: xmonad#396
Related: xmonad#110
  • Loading branch information
liskin authored and TheMC47 committed May 21, 2021
1 parent 739f15d commit 0dfc174
Showing 1 changed file with 8 additions and 3 deletions.
11 changes: 8 additions & 3 deletions XMonad/Hooks/EwmhDesktops.hs
Original file line number Diff line number Diff line change
Expand Up @@ -268,9 +268,14 @@ handle f (ClientMessageEvent {ev_window = w, ev_message_type = mt, ev_data = d})
| otherwise -> trace $ "Bad _NET_DESKTOP with data[0]="++show n
_ -> trace $ "Bad _NET_DESKTOP with data="++show d
| mt == a_aw -> do
lh <- asks (logHook . config)
XS.put (NetActivated (Just w))
lh
case d of
-- when the request comes from a pager, honor it unconditionally
-- https://specifications.freedesktop.org/wm-spec/wm-spec-1.3.html#sourceindication
(2:_) -> windows $ W.focusWindow w
_ -> do
lh <- asks (logHook . config)
XS.put (NetActivated (Just w))
lh
| mt == a_cw ->
killWindow w
| otherwise ->
Expand Down

0 comments on commit 0dfc174

Please sign in to comment.