i3: Global full screen mode blocks workspace switches
Output of i3 --moreversion 2>&- || i3 --version
:
Binary i3 version: 4.14-100-gf34bb2b0 (2017-09-21, branch "next") © 2009 Michael Stapelberg and contributors
Running i3 version: 4.14-100-gf34bb2b0 (2017-09-21, branch "next") (pid 9333)
Loaded i3 config: /home/streetwalrus/.i3/config (Last modified: Thu 21 Sep 2017 20:41:08 IDT, 7580 seconds ago)
The i3 binary you just called: /home/streetwalrus/source/i3/build/i3
The i3 binary you are running: i3
This is commit 919e66399bf350f883d1261311f596083cd41d81 with #2849.
URL to a logfile as per http://i3wm.org/docs/debugging.html:
Not applicable.
What I did:
- Enable global full screen mode
- Try to switch to another workspace
What I saw:
Nothing happens.
What I expected instead:
The container should be hidden, and workspaces should switch, just like with regular full screen mode.
Checking the source tells me this is currently intended behavior, and removing the guards does allow switching workspaces but does not hide the full screen container.
A good way to handle this would be to return the container to regular full-screen mode when switching workspaces, and restore global full-screen when it gains focus again. Alternatively, only allow switching to a workspace on the same output as the one that container belongs to, and hide it when that happens.
Is such a behavior desirable, or should I focus on implementing this via IPC scripting instead?
About this issue
- Original URL
- State: closed
- Created 7 years ago
- Comments: 15 (12 by maintainers)
Commits related to this issue
- Allow switching workspaces when in global fullscreen mode Fixes #2974 — committed to orestisfl/i3 by orestisfl a year ago
- Allow switching workspaces when in global fullscreen mode (#5398) Fixes #2974 — committed to i3/i3 by orestisfl a year ago
- Allow switching workspaces when in global fullscreen mode (#5398) Fixes #2974 — committed to jbenden/i3 by orestisfl a year ago
That seems reasonable to me.
Users who prefer to keep their window in fullscreen mode could resort to entering a binding mode when entering fullscreen, and have that mode only contain commands to exit fullscreen.
Nope, just regular bindings.
I would be fine with this.
You mean via match criteria or requests? That seems like a separate topic to me, I don’t really see a resemblance to the workspace switching case.
However, this did get me thinking. A case that actually is similar is focusing a container on the workspace, which is an open issue and where we decided that this should result in fullscreen being disabled. I guess the consistency argument would apply in this case (since workspace switching is in many way the same as changing focus), see #1819.
To be clear, this would mean that the consistent behavior would be to disable fullscreen entirely (not make it output-fullscreened and also no automatic re-fullscreening).
@stapelberg Perhaps we should actually change the behavior to drop out of fullscreen if the workspace is switched, what do you think?