Skip to content

fix: active window fixes - #2194

Merged
Drakulix merged 4 commits into
Smithay:masterfrom
mayakwd:fix/xwm-clear-active-window
Oct 6, 2026
Merged

Drakulix merged 4 commits into
Smithay:masterfrom
mayakwd:fix/xwm-clear-active-window

Conversation

@mayakwd

@mayakwd mayakwd commented Oct 3, 2026 •

Copy link
Copy Markdown
Contributor

Description

This is a follow-up for the previous _NET_ACTIVE_WINDOW clear PR.

During thorough investigation of the issue regarding mouse-look lock in the games connected to Xwayland and Wine (Proton), I found out that the implementation is not quite aligned with X server behavior.

So what exactly X server does when focus move from a window to None or PointerRoot:

The other focus-tracking issues I found and fixed:

  • When focus becomes POINTER_ROOT, the server sends NotifyDetail::POINTER to the window under pointer, which is not an activation. Thus FocusIn with NotifyDetail::POINTER is now ignored.
  • FocusIn with NotifyMode::GRAB/UNGRAB is now ignored - keyboard grab redirects keys without changing the actual focus. Meaning that previous behavior did the following _NET_ACTIVE_WINDOW changes: "app" -> "menu" -> "app".

Checklist

@mayakwd mayakwd changed the title Fix/xwm clear active window fix: active window fixes Oct 3, 2026

@Drakulix Drakulix left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense. Thanks!

@Drakulix

Drakulix commented Oct 6, 2026

Copy link
Copy Markdown
Member

Can you rebase? 506fda0 should've fixed CI

@mayakwd
mayakwd force-pushed the fix/xwm-clear-active-window branch from 953818e to e7b6218 Compare October 6, 2026 14:03
@Drakulix
Drakulix merged commit deede70 into Smithay:master Oct 6, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants