Feature request: Enable customization for tabs on bottom/right/left #1135

Open
opened 2026-01-30 22:17:17 +00:00 by claunia · 19 comments
Owner

Originally created by @timheuer on GitHub (May 15, 2019).

There should be an option for 'tabs on bottom' for the user to set in profiles.json.

image

Originally created by @timheuer on GitHub (May 15, 2019). There should be an option for 'tabs on bottom' for the user to set in profiles.json. ![image](https://user-images.githubusercontent.com/4821/57810837-9ccdca00-771d-11e9-9e3d-c60664834188.png)
Author
Owner

@mdtauk commented on GitHub (May 15, 2019):

This is on the ToDo list for the TabView control itself, and the app takes a dependency on the control.

I suggested it myself :)
https://github.com/microsoft/microsoft-ui-xaml/issues/590

@mdtauk commented on GitHub (May 15, 2019): This is on the ToDo list for the TabView control itself, and the app takes a dependency on the control. I suggested it myself :) https://github.com/microsoft/microsoft-ui-xaml/issues/590
Author
Owner

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

This isn't impossible - the setting would be a combination of showTabsInTitlebar:false, alwaysShowTabs:true, and then a new setting showTabsonBottom:true, in addition to support from the TabView control itself. Then we'd just have to move the tabs to the second row as opposed to the first.

Though it would likely not play super well with the status bar that @bitcrazed wants so badly, so we'd have to figure that out.

@zadjii-msft commented on GitHub (May 16, 2019): This isn't impossible - the setting would be a combination of `showTabsInTitlebar:false`, `alwaysShowTabs:true`, and then a new setting `showTabsonBottom:true`, in addition to support from the TabView control itself. Then we'd just have to move the tabs to the second row as opposed to the first. Though it would likely not play super well with the status bar that @bitcrazed wants so badly, so we'd have to figure that out.
Author
Owner

@mdtauk commented on GitHub (May 16, 2019):

This isn't impossible - the setting would be a combination of showTabsInTitlebar:false, alwaysShowTabs:true, and then a new setting showTabsonBottom:true, in addition to support from the TabView control itself. Then we'd just have to move the tabs to the second row as opposed to the first.

Though it would likely not play super well with the status bar that @bitcrazed wants so badly, so we'd have to figure that out.

In the C# world this would be an enum.
<TabView TabPlacement="Bottom" ... />
TabPlacement.Top TabPlacement.Bottom TabPlacement.Left TabPlacement.Right

The Status Bar could appear at the top in those circumstances, remain below the tab bar at the bottom, or within the console space itself?

image

@mdtauk commented on GitHub (May 16, 2019): > This isn't impossible - the setting would be a combination of `showTabsInTitlebar:false`, `alwaysShowTabs:true`, and then a new setting `showTabsonBottom:true`, in addition to support from the TabView control itself. Then we'd just have to move the tabs to the second row as opposed to the first. > > Though it would likely not play super well with the status bar that @bitcrazed wants so badly, so we'd have to figure that out. In the C# world this would be an enum. ` <TabView TabPlacement="Bottom" ... /> ` ` TabPlacement.Top TabPlacement.Bottom TabPlacement.Left TabPlacement.Right ` The Status Bar could appear at the top in those circumstances, remain below the tab bar at the bottom, or within the console space itself? ![image](https://user-images.githubusercontent.com/7389110/57816032-b26cdf00-7771-11e9-9a52-ddf7195c6b48.png)
Author
Owner

@DHowett-MSFT commented on GitHub (May 16, 2019):

While this is something a TabView should be capable of, it's not likely that we'd avail ourselves of that capability. The application isn't designed around a UI hierarchy where the TerminalControls live in the Panes and the Panes live in the TabViewItems (as Content) and the TabViewItems live in the TabView (that part is true, but for completeness' sake I've included it.)

Because of how the app's content view is built, we could conceivably do this today. We just need to make sure it's part of our overarching design goals first.

@DHowett-MSFT commented on GitHub (May 16, 2019): While this is something a `TabView` should be capable of, it's not likely that we'd avail ourselves of that capability. The application isn't designed around a UI hierarchy where the `TerminalControl`s live in the `Pane`s and the `Pane`s live in the `TabViewItems` (as `Content`) and the `TabViewItems` live in the `TabView` (that part is true, but for completeness' sake I've included it.) Because of how the app's content view is built, we could conceivably do this _today_. We just need to make sure it's part of our overarching design goals first.
Author
Owner

@mdtauk commented on GitHub (May 16, 2019):

@DHowett-MSFT Of course once the TabView enables the scenario, it will then be up to individual app teams to decide whether to allow it. And that would come down to a show of interest by the users,

Once you have design mock-ups for Windows Terminal you are all happy with, I hope they will be shared on here for opinions and suggestions. Without knowing the destination, we can't tell how far we are from it.

@mdtauk commented on GitHub (May 16, 2019): @DHowett-MSFT Of course once the TabView enables the scenario, it will then be up to individual app teams to decide whether to allow it. And that would come down to a show of interest by the users, Once you have design mock-ups for Windows Terminal you are all happy with, I hope they will be shared on here for opinions and suggestions. Without knowing the destination, we can't tell how far we are from it.
Author
Owner

@egmontkob commented on GitHub (Nov 6, 2019):

The Status Bar could [...] remain below the tab bar at the bottom

In my opinion, this particular possibility would be quite bad UI, since (parts of) the contents of the status bar are per-tab rather than global. That way, switching a tab would change both what is above and what is below the tab bar.

(Remember when years ago Firefox had the URL bar at the top and the tab bar below, and finally they changed it?)

The other two possibilities: the status bar just above the tab bar (as shown in the mock(?) screenshot), or at the very top, both sound reasonable to me.

@egmontkob commented on GitHub (Nov 6, 2019): > The Status Bar could [...] remain below the tab bar at the bottom In my opinion, this particular possibility would be quite bad UI, since (parts of) the contents of the status bar are per-tab rather than global. That way, switching a tab would change both what is above and what is below the tab bar. (Remember when years ago Firefox had the URL bar at the top and the tab bar below, and finally they changed it?) The other two possibilities: the status bar just above the tab bar (as shown in the mock(?) screenshot), or at the very top, both sound reasonable to me.
Author
Owner

@jt-github commented on GitHub (Sep 17, 2021):

While @timheuer originally proposed that tabs optionally exist on the bottom instead of the top, it's clear that many others like myself are looking for tabs on the left (or possibly right) side like Edge's side tabs implementation. This would allow for more verbose tab names and eradicate "squished tab name" issues when many tabs are open simultaneously.

@jt-github commented on GitHub (Sep 17, 2021): While @timheuer originally proposed that tabs optionally exist on the bottom instead of the top, it's clear that many others like myself are looking for tabs on the left (or possibly right) side like Edge's side tabs implementation. This would allow for more verbose tab names and eradicate "squished tab name" issues when many tabs are open simultaneously.
Author
Owner

@weikanglim commented on GitHub (Jan 26, 2023):

@zadjii-msft Thanks for helping consolidate all the asks around vertical tabs into this particular issue. I'm not sure if the team has noticed (and who to relay this user feedback to), but it seems that there's been a recurring ask for "Vertical tabs" feature, which may be a smaller (and way more important) feature than "completely customizable tab layouts".

Personally, I think "Vertical tabs" would be a killer feature to have. As a Windows Terminal user, I struggle to work with the current tab layout when trying to queue up multiple long-running processes across shells. The main thing here is that I want to assign unique, meaningful names to each shell to keep track of my different tasks. These names are longer, and even without a lot of tabs, don't appear nicely. I've actually moved into using VSCode for this as they do support vertical tabs.

I suspect that if we looked at vertical-tab feature adoption in other Microsoft products like Edge, it might actually turn out to be a highly utilized feature.

@weikanglim commented on GitHub (Jan 26, 2023): @zadjii-msft Thanks for helping consolidate all the asks around vertical tabs into this particular issue. I'm not sure if the team has noticed (and who to relay this user feedback to), but it seems that there's been a recurring ask for "Vertical tabs" feature, which may be a smaller (and way more important) feature than "completely customizable tab layouts". Personally, I think "Vertical tabs" would be a killer feature to have. As a Windows Terminal user, I struggle to work with the current tab layout when trying to queue up multiple long-running processes across shells. The main thing here is that I want to assign unique, meaningful names to each shell to keep track of my different tasks. These names are longer, and even without a lot of tabs, don't appear nicely. I've actually moved into using VSCode for this as they do support vertical tabs. I suspect that if we looked at vertical-tab feature adoption in other Microsoft products like Edge, it might actually turn out to be a highly utilized feature.
Author
Owner

@zadjii-msft commented on GitHub (Jan 26, 2023):

I don't disagree, I think it's a cool idea. We just need someone to implement some vertical tabs in WinUI now 😉 This is tracked upstream in https://github.com/microsoft/microsoft-ui-xaml/issues/2194. If that ever gets done for WinUI 2.x, we could ingest it easily. Alternatively, if someone wants to build a fork of the TabView control that implements this for the Terminal, I'd probably accept that too.

@zadjii-msft commented on GitHub (Jan 26, 2023): I don't disagree, I think it's a cool idea. We just need someone to implement some vertical tabs in WinUI now 😉 This is tracked upstream in https://github.com/microsoft/microsoft-ui-xaml/issues/2194. If that ever gets done for WinUI 2.x, we could ingest it easily. Alternatively, if someone wants to build a fork of the TabView control that implements this for the Terminal, I'd probably accept that too.
Author
Owner

@weikanglim commented on GitHub (Jan 26, 2023):

Cool! Thanks for the explanation and also the upstream tracking issue.

@weikanglim commented on GitHub (Jan 26, 2023): Cool! Thanks for the explanation and also the upstream tracking issue.
Author
Owner

@danddinh commented on GitHub (Feb 28, 2023):

@mdtauk What's the status of this feature? It's easier to switch to a terminal tab if tabs are at bottom; click taskbar icon and then click a terminal tab at bottom.

@danddinh commented on GitHub (Feb 28, 2023): @mdtauk What's the status of this feature? It's easier to switch to a terminal tab if tabs are at bottom; click taskbar icon and then click a terminal tab at bottom.
Author
Owner

@zadjii-msft commented on GitHub (Feb 28, 2023):

This currently isn't work that we have in our schedule. I'd be happy to accept this as a contribution though! As I noted above, we need someone to implement this in the TabView itself. Tabs on the bottom might be possible with a custom template/style, but I can't imagine vertical tabs would be that easy. The most correct solution would be to implement this support in WinUI, so that we can ingest it here in the Terminal.

@zadjii-msft commented on GitHub (Feb 28, 2023): This currently isn't work that we have in our schedule. I'd be happy to accept this as a contribution though! As I noted above, we need someone to implement this in the TabView itself. Tabs on the bottom _might_ be possible with a custom template/style, but I can't imagine vertical tabs would be that easy. The most correct solution would be to implement this support in WinUI, so that we can ingest it here in the Terminal.
Author
Owner

@gatspy commented on GitHub (Apr 8, 2025):

This issue has been delayed for a really long time.

@gatspy commented on GitHub (Apr 8, 2025): This issue has been delayed for a really long time.
Author
Owner

@etxaleku commented on GitHub (Jul 12, 2025):

As an option, "tabs on bottom" has my vote (please).

@etxaleku commented on GitHub (Jul 12, 2025): As an option, "tabs on bottom" has my vote (please).
Author
Owner

@siran commented on GitHub (Nov 22, 2025):

what is the blocker in this issue? it has been open since 2019, and no clear path to a resolution.

we'd like vertical tabs on the right, like in (almost) any updated browser.

@siran commented on GitHub (Nov 22, 2025): what is the blocker in this issue? it has been open since 2019, and no clear path to a resolution. we'd like vertical tabs on the right, like in (almost) any updated browser.
Author
Owner

@mdtauk commented on GitHub (Nov 22, 2025):

what is the blocker in this issue? it has been open since 2019, and no clear path to a resolution.

we'd like vertical tabs on the right, like in (almost) any updated browser.

The WinUI TabView control does not support tab placement anywhere but above the content.

@mdtauk commented on GitHub (Nov 22, 2025): > what is the blocker in this issue? it has been open since 2019, and no clear path to a resolution. > > we'd like vertical tabs on the right, like in (almost) any updated browser. The WinUI TabView control does not support tab placement anywhere but above the content.
Author
Owner

@zadjii-msft commented on GitHub (Nov 23, 2025):

I wonder if it'd be possible to fork the control template for the tabview, and create a version that's got four VisualStates that controls which side the corner radii are applied to....

actually now that I've said that, I remembered that the corner radii are applied in code-behind of the tabview itself: https://github.com/microsoft/terminal/issues/7213#issuecomment-1158020393

@zadjii-msft commented on GitHub (Nov 23, 2025): ~I wonder if it'd be possible to fork the control template for the tabview, and create a version that's got four VisualStates that controls which side the corner radii are applied to....~ actually now that I've said that, I remembered that the corner radii are applied in code-behind of the tabview itself: https://github.com/microsoft/terminal/issues/7213#issuecomment-1158020393
Author
Owner

@mdtauk commented on GitHub (Nov 23, 2025):

I wonder if it'd be possible to fork the control template for the tabview, and create a version that's got four VisualStates that controls which side the corner radii are applied to....

actually now that I've said that, I remembered that the corner radii are applied in code-behind of the tabview itself: #7213 (comment)

Yea because they curve into the content area, so to do it while maintaining the WinUI Tab design, it would need to be done on the control itself - or Terminal could choose to re-template and separate the tab bar from the tab content, and do your own thing with it.

@mdtauk commented on GitHub (Nov 23, 2025): > ~I wonder if it'd be possible to fork the control template for the tabview, and create a version that's got four VisualStates that controls which side the corner radii are applied to....~ > > actually now that I've said that, I remembered that the corner radii are applied in code-behind of the tabview itself: [#7213 (comment)](https://github.com/microsoft/terminal/issues/7213#issuecomment-1158020393) Yea because they curve into the content area, so to do it while maintaining the WinUI Tab design, it would need to be done on the control itself - or Terminal could choose to re-template and separate the tab bar from the tab content, and do your own thing with it.
Author
Owner

@Vampire commented on GitHub (Nov 27, 2025):

And this information does contribute to the solution of this ticket ... how?
Please remember that every comment you write pings every watcher of a ticket,
and every unnecessary comment like personal blog entries or "me too" posts hides potentially important comments. ;-)

@Vampire commented on GitHub (Nov 27, 2025): And this information does contribute to the solution of this ticket ... how? Please remember that every comment you write pings every watcher of a ticket, and every unnecessary comment like personal blog entries or "me too" posts hides potentially important comments. ;-)
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#1135