Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
timheuer opened this issue May 15, 2019 · 12 comments
Open

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

timheuer opened this issue May 15, 2019 · 12 comments
Labels
Area-Extensibility A feature that would ideally be fulfilled by us having an extension model. Area-User Interface Issues pertaining to the user interface of the Console or Terminal Issue-Feature Complex enough to require an in depth planning process and actual budgeted, scheduled work. Product-Terminal The new Windows Terminal.
Milestone

Comments

@timheuer
Copy link
Member

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

image

@DHowett-MSFT DHowett-MSFT changed the title Enable customization for tabs on bottom Feature request: Enable customization for tabs on bottom May 15, 2019
@DHowett-MSFT DHowett-MSFT added the Issue-Feature Complex enough to require an in depth planning process and actual budgeted, scheduled work. label May 15, 2019
@DHowett-MSFT DHowett-MSFT added this to the Windows Terminal Backlog milestone May 15, 2019
@mdtauk
Copy link

mdtauk commented 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 :)
microsoft/microsoft-ui-xaml#590

@zadjii-msft
Copy link
Member

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.

@mdtauk
Copy link

mdtauk commented May 15, 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

@DHowett-MSFT
Copy link
Contributor

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.

@mdtauk
Copy link

mdtauk commented May 15, 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.

@DHowett-MSFT DHowett-MSFT added Area-User Interface Issues pertaining to the user interface of the Console or Terminal Product-Terminal The new Windows Terminal. labels May 16, 2019
@egmontkob
Copy link

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.

@zadjii-msft zadjii-msft added the Area-Extensibility A feature that would ideally be fulfilled by us having an extension model. label Nov 26, 2019
@DHowett DHowett changed the title Feature request: Enable customization for tabs on bottom Feature request: Enable customization for tabs on bottom/right/left Dec 3, 2020
@jt-github
Copy link

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.

@weikanglim
Copy link

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

@zadjii-msft
Copy link
Member

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 microsoft/microsoft-ui-xaml#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.

@weikanglim
Copy link

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

@dandeancook
Copy link

dandeancook commented 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.

@zadjii-msft
Copy link
Member

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-Extensibility A feature that would ideally be fulfilled by us having an extension model. Area-User Interface Issues pertaining to the user interface of the Console or Terminal Issue-Feature Complex enough to require an in depth planning process and actual budgeted, scheduled work. Product-Terminal The new Windows Terminal.
Projects
None yet
Development

No branches or pull requests

9 participants