Add a customise option to not grab the keyboard in full screen mode.
Especially when using multiple monitors, I am not a fan of EXWM automatically switching X windows to char mode upon entering full screen. I understand the reasoning and think it should remain the default, since the unprepared user might otherwise accidentally open an invisible M-x menu behind their video player and become very sad.
However, I would argue that users who know what they are doing should have the option of staying in line mode. Personally, I often have a full screen video player or game running on one monitor while also using a chat client on another monitor, and if the game is in char mode, I cannot use my regular keybinds to quickly reply to chat messages. I do not want to add those keybinds to exwm-input-global-keys since that would mess up my workflow in windows where I enter char mode on purpose.
I think adding a customise option for this is a small change that has a benefit for at least some users at essentially no performance impact.
PS: Please let me know if in the future I should open an issue first rather than creating a pull request immediately.
I'd actually like to make this the default but, IMO, we should also automatically un-fullscreen the current window whenever the current workspace's frame is reconfigured (window-configuration-change-hook).
On the other hand, I think we can do this in two stages:
- Make it configurable but default to char-mode for now (merge this patch).
- Implement the "auto-un-fullscreen" feature then consider changing the default.
Thoughts @minad?
I am happy with the current default behavior, but we should try your proposal. The option proposed in this PR looks good as first step.
I'd actually like to make this the default but, IMO, we should also automatically un-fullscreen the current window whenever the current workspace's frame is reconfigured (
window-configuration-change-hook).
That sounds reasonable, I can just create a second pull request after this one is finished. Should be quick enough to add.
Although, is not window-configuration-change-hook called when moving the window to a different physical monitor? If i is, I would suggest to make your proposed behaviour configurable because people might still want to move fullscreen windows around.
Any updates? I'm not in the loop on how the upgrade process of EXWM works.