terminal icon indicating copy to clipboard operation
terminal copied to clipboard

[Megathread] Fullscreen & Focus Mode follow-up work

Open zadjii-msft opened this issue 6 years ago • 5 comments

Taken from https://github.com/microsoft/terminal/issues/531#issuecomment-531046569

I'd suggest that this is broken into 3 implementation steps:

  1. Support fullscreen mode, with always hidden tabs
  2. Add a setting to have tabs always visible in fullscreen mode
  3. 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 fullscreen to launchMode, tracked in #288
  • [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 avatar Nov 08 '19 19:11 zadjii-msft

@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 avatar Dec 06 '19 19:12 nathpete-msft

@nathpete-msft That seems pretty reasonable to me. If that's how iTerm2 does it, then that's a pretty good precedent.

zadjii-msft avatar Dec 06 '19 19:12 zadjii-msft

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 avatar Mar 25 '20 09:03 dominik-ba

@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"

zadjii-msft avatar Mar 25 '20 13:03 zadjii-msft

Wouldn't it be relatively easy to enable th new toggle focus feature also on fullscreen? This would check step 2 :)

dominik-ba avatar Jul 26 '20 13:07 dominik-ba