Feature Request: Consider supporting chromeless fullscreen mode like conhost alt+enter #781

Closed
opened 2026-01-30 22:03:55 +00:00 by claunia · 28 comments
Owner

Originally created by @oising on GitHub (May 7, 2019).

Originally assigned to: @zadjii-msft on GitHub.

As the title says: Conhost (V2 only?) has a legacy-style fullscreen mode, and with the recent ability to theme the scrollbars, this gives a pleasant clutter-free terminal experience. I'd like to see this with windows terminal also.

Originally created by @oising on GitHub (May 7, 2019). Originally assigned to: @zadjii-msft on GitHub. As the title says: Conhost (V2 only?) has a legacy-style fullscreen mode, and with the recent ability to theme the scrollbars, this gives a pleasant clutter-free terminal experience. I'd like to see this with windows terminal also.
Author
Owner

@zadjii-msft commented on GitHub (May 7, 2019):

Sounds like a good feature to me.

@zadjii-msft commented on GitHub (May 7, 2019): Sounds like a good feature to me.
Author
Owner

@vapier commented on GitHub (May 7, 2019):

i'd be wary of binding it to something like Ctrl-Enter. there are applications (like Emacs) that users expect to be able to use modifiers with the Enter key.

of course, if there were generic keybindings settings, then it'd be somewhat of a moot issue as people could rebind however they liked.

@vapier commented on GitHub (May 7, 2019): i'd be wary of binding it to something like Ctrl-Enter. there are applications (like Emacs) that users expect to be able to use modifiers with the Enter key. of course, if there were generic keybindings settings, then it'd be somewhat of a moot issue as people could rebind however they liked.
Author
Owner

@zadjii-msft commented on GitHub (May 7, 2019):

Hey wadda ya know, we do plan on having all the keybindings configurable! So no need to worry about that :)

@zadjii-msft commented on GitHub (May 7, 2019): Hey wadda ya know, we do plan on having all the keybindings configurable! So no need to worry about that :)
Author
Owner

@miniksa commented on GitHub (May 9, 2019):

its alt+enter and f11 that conhost implemented, fixing title

@miniksa commented on GitHub (May 9, 2019): its alt+enter and f11 that conhost implemented, fixing title
Author
Owner

@be5invis commented on GitHub (Jul 5, 2019):

Borderless window or real exclusive mode like games?

@be5invis commented on GitHub (Jul 5, 2019): Borderless window or real exclusive mode like games?
Author
Owner

@kfsone commented on GitHub (Jul 19, 2019):

Alt-Enter for full-screen borderless dates back to the earliest days of Windows, and it transferred into GDI games (duke nukem, rise of the triad, ...) and then into games under every subsequent windows rendering API. Eventually we got full-screen exclusive as an performance booster for early, primitive 3d cards, and it stayed that way, but now that there's zero to negligible difference, it's actually more common again today for game developers to default to alt-enter taking you into full-screen borderless rather than exclusive, unless they're using generic defaults for certain game engines.

Alt-Enter is what the built-in cmd/powershell console uses, both the new versions and versions of windows going all the way back to 95.

@kfsone commented on GitHub (Jul 19, 2019): `Alt-Enter` for full-screen borderless dates back to the earliest days of Windows, and it transferred into GDI games (duke nukem, rise of the triad, ...) and then into games under every subsequent windows rendering API. Eventually we got full-screen exclusive as an performance booster for early, primitive 3d cards, and it stayed that way, but now that there's zero to negligible difference, it's actually more common again today for game developers to default to alt-enter taking you into full-screen borderless rather than exclusive, unless they're using generic defaults for certain game engines. `Alt-Enter` is what the built-in cmd/powershell console uses, both the new versions and versions of windows going all the way back to 95.
Author
Owner

@BrainBacon commented on GitHub (Jul 19, 2019):

To expand on what @kfsone said, Alt-Enter is used by wsltty which is a great Terminal for WSL.

@BrainBacon commented on GitHub (Jul 19, 2019): To expand on what @kfsone said, `Alt-Enter` is used by [wsltty](https://github.com/mintty/wsltty) which is a great Terminal for WSL.
Author
Owner

@mdtauk commented on GitHub (Jul 19, 2019):

UWP has a full screen mode, as used by the Media Controls, Film & TV app, etc

@mdtauk commented on GitHub (Jul 19, 2019): UWP has a full screen mode, as used by the Media Controls, Film & TV app, etc
Author
Owner

@terrajobst commented on GitHub (Jul 19, 2019):

To me, it's only about the window experience. I want a chromeless full window mode. I didn't even know about exclusive mode.

@terrajobst commented on GitHub (Jul 19, 2019): To me, it's only about the window experience. I want a chromeless full window mode. I didn't even know about exclusive mode.
Author
Owner

@rcarmo commented on GitHub (Jul 21, 2019):

I would also appreciate having a zero-clutter full-screen mode via Alt-Enter.

@rcarmo commented on GitHub (Jul 21, 2019): I would also appreciate having a zero-clutter full-screen mode via Alt-Enter.
Author
Owner

@WSLUser commented on GitHub (Jul 24, 2019):

Ideally we’d have both chromeless full window mode and exclusive mode.

UWP has a full screen mode, as used by the Media Controls, Film & TV app, etc

We should have some XAML controls we can use to implement this then (and would probably be the better route than any custom solution).

@WSLUser commented on GitHub (Jul 24, 2019): Ideally we’d have both chromeless full window mode _and_ exclusive mode. > UWP has a full screen mode, as used by the Media Controls, Film & TV app, etc We should have some XAML controls we can use to implement this then (and would probably be the better route than any custom solution).
Author
Owner

@oblitum commented on GitHub (Aug 25, 2019):

Is there any way at the moment to set fullscreen?

@oblitum commented on GitHub (Aug 25, 2019): Is there any way at the moment to set fullscreen?
Author
Owner

@shanselman commented on GitHub (Sep 12, 2019):

This can't happen soon enough ;)

@shanselman commented on GitHub (Sep 12, 2019): This can't happen soon enough ;)
Author
Owner

@Rican7 commented on GitHub (Sep 12, 2019):

This can't happen soon enough ;)

Ha, yea, it's the one thing keeping me from switching from WSLtty (Mintty for WSL) as my terminal emulator.

Glad to hear an "insider" pushing for it too. 😃

@Rican7 commented on GitHub (Sep 12, 2019): > This can't happen soon enough ;) Ha, yea, it's the one thing keeping me from switching from WSLtty (Mintty for WSL) as my terminal emulator. Glad to hear an "insider" pushing for it too. 😃
Author
Owner

@mdtauk commented on GitHub (Sep 12, 2019):

Maybe the same chromeless state can be implemented for Tablet Mode support, instead of Maximised.

Also does this hide the Tabs, or just the TitleBar?

@mdtauk commented on GitHub (Sep 12, 2019): Maybe the same chromeless state can be implemented for Tablet Mode support, instead of Maximised. Also does this hide the Tabs, or just the TitleBar?
Author
Owner

@Rican7 commented on GitHub (Sep 13, 2019):

Also does this hide the Tabs, or just the TitleBar?

I mean, I'm sure it could be designed/developed to be one or the other, maybe configurable, or maybe do the thing where the tab-bar shows when you move your mouse up to the top of the screen (not sure how that'd work with touch/tablets, though...).

Buttttt, ideally there can be a truly "chromeless" full-screen mode.

I currently use WSLtty and it does a full-screen "chromeless" mode and its so nice to have the full real-estate of my screen and have no distractions.

Normal Maximized

mintty_xZDSRkJsd2

(don't mind my dying battery and pending Windows Update 😅)

Full-Screen "Chromeless" (alt+enter)

mintty_6ggrxPy1jY

@Rican7 commented on GitHub (Sep 13, 2019): > Also does this hide the Tabs, or just the TitleBar? I mean, I'm sure it could be designed/developed to be one or the other, maybe configurable, or maybe do the thing where the tab-bar shows when you move your mouse up to the top of the screen (not sure how that'd work with touch/tablets, though...). _Buttttt_, ideally there can be a truly "chromeless" full-screen mode. I currently use WSLtty and it does a full-screen "chromeless" mode and its **so nice** to have the full real-estate of my screen and have no distractions. ## Normal Maximized ![mintty_xZDSRkJsd2](https://user-images.githubusercontent.com/742384/64827580-12d62680-d582-11e9-84de-eae67741bf78.png) _(don't mind my dying battery and pending Windows Update 😅)_ ## Full-Screen "Chromeless" (alt+enter) ![mintty_6ggrxPy1jY](https://user-images.githubusercontent.com/742384/64827585-17024400-d582-11e9-87fc-c690ad6f167e.png)
Author
Owner

@mdtauk commented on GitHub (Sep 13, 2019):

Screenshot (19)
Tablet Mode

Screenshot (20)
Tablet Mode - Slide down from top for Window Title and Close Button

Screenshot (21)
Maximized

Screenshot (22)
Normal

@mdtauk commented on GitHub (Sep 13, 2019): ![Screenshot (19)](https://user-images.githubusercontent.com/7389110/64828002-97df3100-d5be-11e9-9239-214d5f92e7ed.png) _**Tablet Mode**_ ![Screenshot (20)](https://user-images.githubusercontent.com/7389110/64828003-9877c780-d5be-11e9-8385-536ef14b3ea4.png) _**Tablet Mode** - Slide down from top for Window Title and Close Button_ ![Screenshot (21)](https://user-images.githubusercontent.com/7389110/64828004-9877c780-d5be-11e9-8118-f6a80f0a2104.png) _**Maximized**_ ![Screenshot (22)](https://user-images.githubusercontent.com/7389110/64828168-379cbf00-d5bf-11e9-8eb9-4c2946d07085.png) _**Normal**_
Author
Owner

@zadjii-msft commented on GitHub (Sep 13, 2019):

I'd imagine that the "fullscreen mode" would behave much like most browsers do, where the tabs are hidden until you mouse over them, and then they slide down from the top.

Now, that's much harder to do then fullscreen mode is. 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?

Implementing step 1 shouldn't be too hard for an enthusiastic community member out there, since conhost already has code to do exactly this. It shouldn't be too hard to take that code, and add it to the WindowsTerminal project in such a way that it can be toggled with a keybinding handled in the TerminalApp project.

The next steps might get harder (esp with the slide-out animation in step 3), but step 1 would be a great place for someone to get their feet wet :)

@zadjii-msft commented on GitHub (Sep 13, 2019): I'd imagine that the "fullscreen mode" would behave much like most browsers do, where the tabs are hidden _until you mouse over them_, and then they slide down from the top. Now, that's much harder to do then fullscreen mode is. 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? Implementing step 1 shouldn't be too hard for an enthusiastic community member out there, since conhost already has code to do exactly this. It shouldn't be too hard to take that code, and add it to the WindowsTerminal project in such a way that it can be toggled with a keybinding handled in the TerminalApp project. The next steps might get harder (esp with the slide-out animation in step 3), but step 1 would be a great place for someone to get their feet wet :)
Author
Owner

@mdtauk commented on GitHub (Sep 13, 2019):

Some of that may be sorted by WinUI Desktop in the future @zadjii-msft But if you were to introduce it before then, I think fullscreen with Tabs would satisfy most, as long as the height of the Tab Bar is as small as it can be 32/40px height.

An idea: If the Tab Bar could adopt the profile colours so it appears to blend better? 🤔

@mdtauk commented on GitHub (Sep 13, 2019): Some of that may be sorted by WinUI Desktop in the future @zadjii-msft But if you were to introduce it before then, I think fullscreen with Tabs would satisfy most, as long as the height of the Tab Bar is as small as it can be 32/40px height. An idea: If the Tab Bar could adopt the profile colours so it appears to blend better? 🤔
Author
Owner

@oblitum commented on GitHub (Sep 13, 2019):

Alacritty has experimental ConPTY support (enable_experimental_conpty_backend: true). I thought it didn't. It works and true colors and unicode glyphs worked fine, even when running docker (which I'm using for having a linux developer machine on Windows instead of relying on WSL, etc).

So if anyone is looking for an alternative that already has fullscreen, give Alacritty a try. Better yet, it's cross platform.

@oblitum commented on GitHub (Sep 13, 2019): [Alacritty](https://github.com/jwilm/alacritty) has experimental ConPTY support (`enable_experimental_conpty_backend: true`). I thought it didn't. It works and true colors and unicode glyphs worked fine, even when running docker (which I'm using for having a linux developer machine on Windows instead of relying on WSL, etc). So if anyone is looking for an alternative that already has fullscreen, give Alacritty a try. Better yet, it's cross platform.
Author
Owner

@zadjii-msft commented on GitHub (Sep 13, 2019):

@mdtauk Let's not mix and match discussion threads, I'm pretty sure combining the tab with the pane is being tracked in #702

@oblitum Suggesting that users try another terminal emulator isn't really helpful in a discussion thread about trying to implement support for that feature in the Windows Terminal. Obviously other terminal emulators will have other features that we don't have yet in the first few preview builds of the Windows Terminal. Let's try and keep the discussion to how we implement those features and narrow that gap 😄

@zadjii-msft commented on GitHub (Sep 13, 2019): @mdtauk Let's not mix and match discussion threads, I'm pretty sure combining the tab with the pane is being tracked in #702 @oblitum Suggesting that users try another terminal emulator isn't really helpful in a discussion thread about trying to implement support for that feature in the Windows Terminal. Obviously other terminal emulators will have other features that we don't have yet in the first few _preview_ builds of the Windows Terminal. Let's try and keep the discussion to _how_ we implement those features and narrow that gap 😄
Author
Owner

@demfabris commented on GitHub (Sep 22, 2019):

This feature is pretty much all i need to switch to windows terminal.
For now i'll have to remain on regular cmd

@demfabris commented on GitHub (Sep 22, 2019): This feature is pretty much all i need to switch to windows terminal. For now i'll have to remain on regular cmd
Author
Owner

@mdtauk commented on GitHub (Sep 22, 2019):

I only meant if a full screen mode comes, without the Title Bar (which could use the same code for running Windows Terminal in Tablet Mode) then you need to decide if tabs are visible or hidden.

If you want the tabs to be always visible, making the entire Tab Bar blend in, will not be distracting and jarring.

That #702 issue is more about fitting into an Acrylic Title Bar.

Of course a full screen mode, could well hide the Tab Bar too, have it show on hover.

@mdtauk commented on GitHub (Sep 22, 2019): I only meant if a full screen mode comes, without the Title Bar (which could use the same code for running Windows Terminal in Tablet Mode) then you need to decide if tabs are visible or hidden. If you want the tabs to be always visible, making the entire Tab Bar blend in, will not be distracting and jarring. That #702 issue is more about fitting into an Acrylic Title Bar. Of course a full screen mode, could well hide the Tab Bar too, have it show on hover.
Author
Owner

@Rican7 commented on GitHub (Nov 5, 2019):

Woot! Awesome work guys! Thank you! Stoked to try this out in the next release. 😀

@Rican7 commented on GitHub (Nov 5, 2019): Woot! Awesome work guys! Thank you! Stoked to try this out in the next release. 😀
Author
Owner

@shanselman commented on GitHub (Nov 7, 2019):

OMG

@shanselman commented on GitHub (Nov 7, 2019): OMG
Author
Owner

@oising commented on GitHub (Nov 7, 2019):

YASSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

@oising commented on GitHub (Nov 7, 2019): YASSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
Author
Owner

@rcarmo commented on GitHub (Nov 7, 2019):

Yep. Entirely new world here - zero windows on screen :)

On 7 Nov 2019, at 21:06, Scott Hanselman notifications@github.com wrote:


OMG


You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.

@rcarmo commented on GitHub (Nov 7, 2019): Yep. Entirely new world here - zero windows on screen :) > On 7 Nov 2019, at 21:06, Scott Hanselman <notifications@github.com> wrote: > >  > OMG > > — > You are receiving this because you commented. > Reply to this email directly, view it on GitHub, or unsubscribe.
Author
Owner

@ghost commented on GitHub (Nov 26, 2019):

:tada:This issue was addressed in #3408, which has now been successfully released as Windows Terminal Preview v0.7.3291.0.🎉

Handy links:

@ghost commented on GitHub (Nov 26, 2019): :tada:This issue was addressed in #3408, which has now been successfully released as `Windows Terminal Preview v0.7.3291.0`.:tada: Handy links: * [Release Notes](https://github.com/microsoft/terminal/releases/tag/v0.7.3291.0) * [Store Download](https://www.microsoft.com/store/apps/9n0dx20hk701?cid=storebadge&ocid=badge)
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#781