-
Notifications
You must be signed in to change notification settings - Fork 134
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
Improve detection of focus changes #737
base: master
Are you sure you want to change the base?
Improve detection of focus changes #737
Conversation
* exwm-input.el: (exwm-input--on-buffer-list-update): Keep track of last selected window and buffer, update focus only when any of those changes. (exwm-input--update-focus-defer): Add commentary. (exwm-input--update-focus-window-buffer): Add variable. Copyright-paperwork-exempt: yes Co-Author: Adrián Medraño Calvo <[email protected]>
* exwm-input.el: (exwm-input--on-buffer-list-update): Stop checking `exwm-input--skip-buffer-list-update'; it's no longer needed now that we keep track of the last selected window and buffer. (exwm-input--skip-buffer-list-update): Remove variable. * exwm-manage.el (exwm-manage--manage-window): Remove binding of `exwm-input--skip-buffer-list-update'.
ad8cddc
to
2402413
Compare
I haven't rigorously tested it but, while edit: Ah, wait, was I'm not sure if this was even supposed to help with #756. |
@medranocalvo Do you think we should merge it anyway? It should help alleviate other problems at least. |
This is almost one year of changes to EXWM. Note that it undoes our port of ch11ng/exwm#737 That PR hasn't seen any movement in three years, so it might not be that relevant anymore. Other stuff has been mainlined in the meantime. Change-Id: I0845ff8a28a5bb1553855f6d6f0ceeaedcf0809e
Applied this to my fork https://github.com/bendlas/exwm I think it fixes the focus problems, I've been having .. |
This should limit substantially the number of
on-buffer-list-updates
we react to. Especially, it should ignore allwith-temp-buffer
, as those don't select a different window (note that we use(window-buffer (selected-window))
and not(current-buffer)
).A further improvement could be to check that the selected window belongs to an EXWM-managed frame (workspace, floating, minibuffer(?)).