-
-
Notifications
You must be signed in to change notification settings - Fork 620
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix event propagation on Openbox #1802
Conversation
✅ Deploy Preview for conkyweb canceled.
|
Events now get correctly propagated to a window (or root if none) behind conky. This was a necessary change to handle cases such as MATE+caja where caja is used between conky and background to show icons and desktop menu. Signed-off-by: Tin Švagelj <tin.svagelj@live.com>
5527ad3
to
0cdebd7
Compare
Detecting the window below conky breaks openbox because it does something weird with the window tree:
I've seen a similar thing happen on Plasma... |
Atoms should be faster than graph traversal, and also don't include decorations (windows) inserted by WM/DEs, nor special 1x1 windows. Signed-off-by: Tin Švagelj <tin.svagelj@live.com>
Not sure what it is, spent an hour looking for it online but there's no mention of it anywhere. I left the previous impl as a fallback and rely on atoms instead now - so openbox works again. I think MATE still doesn't work, that's next I guess. |
MATE uses caja, which uses gtk. No events get properly passed through, but I'm focusing on right-click which should open a context menu. Gdk starts handling menu opening with It seems Gdk only accepts Xinput pointer events, which is why it ignores the basic X11 ones. |
Signed-off-by: Tin Švagelj <tin.svagelj@live.com>
return PointerMotionMask; | ||
default: | ||
return NoEventMask; | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There's a bunch more, but we're not forwarding those events so I didn't implement all of them.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PR looks good, one minor nit.
Causes input focus flickering, especially with WMs where focus follows pointer. This looks weird (carret flashing) and effectively acheives nothing. So I'm, leaving it up to WMs to manage focus. Signed-off-by: Tin Švagelj <tin.svagelj@live.com>
Signed-off-by: Tin Švagelj <tin.svagelj@live.com>
thanks for fixing the bug. it happened to me too on openbox: due to conky the cpu reached 40% and the temperature over 60°, then by killing conky everything went back to normal. If you're interested, I found a way to reproduce the bug:
|
Events now get correctly propagated to a window (or desktop if none) behind conky instead of always to desktop.
This PR addresses some of the issues raised in #1767, but it's mainly correcting event propagation/passing.
This was a necessary change to handle cases such as MATE+caja where caja is used between conky and background to show icons and desktop menu.