[Megathread] Fullscreen & Focus Mode follow-up work
Taken from https://github.com/microsoft/terminal/issues/531#issuecomment-531046569
I'd suggest that this is broken into 3 implementation steps:
- Support fullscreen mode, with always hidden tabs
- Add a setting to have tabs always visible in fullscreen mode
- Enable "revealing" tabs on mouse hover near the top
Step 3 has some implementation details that are missing, like: on tabs reveal, should the tabs:
- cover the terminal content, obscuring the top rows, but leaving the rest of the window unchanged
- cause the terminal to resize
- shift the terminal content down, obscuring the bottom rows of the terminal, but not forcing a resize?
Now that #3408 is merged (closing #531), we need some place to track the follow-up tasks I had outlined before:
Focus mode and Fullscreen share a lot of commonalities, so I'm grouping them into one thread for easy of x-linking.
Fullscreen
- [x] Support fullscreen mode, with always hidden tabs
- [ ] #11130 - Add a setting to have tabs always visible in fullscreen mode
-
"showTabsInFullscreen": true|"always"
-
- [ ] #5677 - Enable "revealing" tabs on mouse hover near the top
-
"showTabsInFullscreen": "hover"
-
- [ ] If a launch full screen option is there, when the full screened app launches, I think the TabView should be visible for a few seconds before sliding out of view. (from @mdtuak in https://github.com/microsoft/terminal/issues/288#issuecomment-551950312)
- this is dependent upon adding
fullscreentolaunchMode, tracked in #288
- this is dependent upon adding
- [x] #4000 It would be nice to have a kind of popup with a tab name when you switch tabs with CTRL+TAB in fullscreen mode.
- Let's add a setting for this as well, this sounds like a not so terrible idea.
- This is the "advanced tab switcher"
Focus Mode
- [ ] #539
- Not necessarily Focus Mode related, but certainly relevant
- [x] #10730
- [ ] #7210
- [ ] #12959
@zadjii-msft, as part of step 2, could that setting also have an option to only show tabs in fullscreen if there is currently more than one tab? Or would that setting just also take into account the existing alwaysShowTabs setting? The latter is how iTerm handles this, and I think feels pretty natural.
In that case, these settings might behave together like so:
| State | 2+ Tabs | Always Show Tabs | Show Tabs In Fullscreen | Tabs Visible |
|---|---|---|---|---|
| Windowed | Yes | Yes | N/A | Yes |
| Windowed | Yes | No | N/A | Yes |
| Windowed | No | Yes | N/A | Yes |
| Windowed | No | No | N/A | No |
| Fullscreen | Yes | Yes | Yes | Yes |
| Fullscreen | Yes | Yes | No | No |
| Fullscreen | Yes | No | Yes | Yes |
| Fullscreen | Yes | No | No | No |
| Fullscreen | No | Yes | Yes | Yes |
| Fullscreen | No | Yes | No | No |
| Fullscreen | No | No | Yes | No |
| Fullscreen | No | No | No | No |
@nathpete-msft That seems pretty reasonable to me. If that's how iTerm2 does it, then that's a pretty good precedent.
I would love to have step 2 implemented. Especially if you have windows terminal in a second desktop you can simply switch to a fullscreen terminal with win + cmd + left/right. I know this works alreday but not knowing which tabs are open and which one I am using is a bit of a hassle.
That would be awesome! :)
Any plans on when this will get implemented?
PS: Now that I check on some more issues in this repo I'm confused since quite some people created (duplicate) issues about the padding of the tabs in fullscreen mode but I checked again and did not find a way or documentation how to enable this. Is this PR old or are those people not acutually talking about fullscreen?
@dominik-ba This work is not currently on any particular milestone. I can guarantee that it's not making the cut for 1.0, since we're currently in a feature-freeze as we prepare to release 1.0.
I think some of the other issues you're referring too mainly mean "maximized" when they're saying "fullscreen"
Wouldn't it be relatively easy to enable th new toggle focus feature also on fullscreen? This would check step 2 :)