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

Add support for side panels #16387

Closed
thernstig opened this issue Nov 28, 2023 · 9 comments
Closed

Add support for side panels #16387

thernstig opened this issue Nov 28, 2023 · 9 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. Needs-Tag-Fix Doesn't match tag requirements
Milestone

Comments

@thernstig
Copy link

thernstig commented Nov 28, 2023

Description of the new feature/enhancement

Tools such as Visual Studio Code or even MobaXterm support side panels. Imagine something like:

image

  • The red lines showcase the various profile names
  • The blue lines indicate the current open connections to each profile. Be that tabs or side panels. The UX for tabs vs. sidepanels needs to be figured out.

It would be neat if Windows Terminal had an optional side panel support. Suggested keyboard shortcut:
ctrl+b

Proposed technical implementation details (optional)

No idea.

@thernstig thernstig added the Issue-Feature Complex enough to require an in depth planning process and actual budgeted, scheduled work. label Nov 28, 2023
@microsoft-github-policy-service microsoft-github-policy-service bot added Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting Needs-Tag-Fix Doesn't match tag requirements labels Nov 28, 2023
@zadjii-msft
Copy link
Member

This kinda just seems like a case for #997 and #4000. 4000 has a lot of linked threads to various UI elements that might be used in panes. I guess my question would be more specifically, what do you want surfaced in that pane?

  • A "List of Profiles" pane seems... just about as useful as the dropdown.
  • A "List of tabs/panes" pane doesn't seem like a terrible idea, though I think there's some overlap with the ideal form of the tab switcher there
  • Something else/?

@microsoft-github-policy-service microsoft-github-policy-service bot added the Needs-Author-Feedback The original author of the issue/PR needs to come back and respond to something label Nov 28, 2023
@thernstig
Copy link
Author

thernstig commented Nov 28, 2023

As visualized in the original post, the blue lines should indicate open connections (be that tabs or panes). And that the red lines indicate to which profile the connection is open.

This is thus another view of the current tabbed and pane layout, which many users prefer, especially people coming from MobaXterm or similar tools. The use case is a UX use case for a more advanced way of visualization all opens profiles + connections than what tabs can do.

We can also map this 1-to-1 with how VS Code has an OPEN EDITORS functionality. It is a more advanced form than tabs to visualize all open editors.

Imagine having 30 open tabs. Moving between these tabs is easier in a side panel like above, than trying to find the tabs. It is even harder if having panels within tabs, to find exactly where you are.

I am not an UX expert, but I am sure an UX expert could fill in even more why a side panel is in many ways superior to tabs.

Aside: I used the term Panel on purpose, since it is the convention used by Visual Studo Code. Even though you render it in a "pane" (as described in #997), I think the term Panel is better.

@microsoft-github-policy-service microsoft-github-policy-service bot added Needs-Attention The core contributors need to come back around and look at this ASAP. and removed Needs-Author-Feedback The original author of the issue/PR needs to come back and respond to something labels Nov 28, 2023
@zadjii-msft
Copy link
Member

Huh. So, basically just, vertical tabs (ala #835), but you also want to group the list of tabs, by what profile is open in them/?

@microsoft-github-policy-service microsoft-github-policy-service bot added Needs-Author-Feedback The original author of the issue/PR needs to come back and respond to something and removed Needs-Attention The core contributors need to come back around and look at this ASAP. labels Nov 29, 2023
@thernstig
Copy link
Author

thernstig commented Nov 29, 2023

Like MobaXterm (though of course with the much nicer Windows Terminal UI):

image

@microsoft-github-policy-service microsoft-github-policy-service bot added Needs-Attention The core contributors need to come back around and look at this ASAP. and removed Needs-Author-Feedback The original author of the issue/PR needs to come back and respond to something labels Nov 29, 2023
@zadjii-msft
Copy link
Member

Wait is the more important thing the grouping? Or just the vertical list of open tabs/?

Because if it's grouping, the new tab menu supports that as of #1571 merging in like, 1.17:
image

That might be quick solution here.

@microsoft-github-policy-service microsoft-github-policy-service bot added Needs-Author-Feedback The original author of the issue/PR needs to come back and respond to something and removed Needs-Attention The core contributors need to come back around and look at this ASAP. labels Nov 30, 2023
@thernstig
Copy link
Author

@zadjii-msft I think possibly we are thinking about this differently.

The current solutions in Windows Terminal has ways to see these things. The proposal of a side panel to be used (similar to VS Code side panels) is that it is a different view with a different UX. Many users prefer side panels.

Compare it with a code editors tabs vs file explorer. Both views open files, but the file explorer arguably gives better UX to get an overview of "everything".

I would say the key point of a side panel is that it is a better UX if there exists many, many profiles as tabs are harder to get an overview and navigate.

@microsoft-github-policy-service microsoft-github-policy-service bot added Needs-Attention The core contributors need to come back around and look at this ASAP. and removed Needs-Author-Feedback The original author of the issue/PR needs to come back and respond to something labels Nov 30, 2023
@zadjii-msft
Copy link
Member

Okay yea, I think I get that part. I 'm mainly trying to correlate what you're asking for with things that might already be in the product, or already on the backlog somewhere.

Big picture, there's a bunch of different elements of your ask that I'm trying to tease apart here (and pardon my confusion. I'm obviously not super familiar with mobaxterm)

  • If the big point here is just grouping "connections" so that they're easier to search and launch, then the new tab menu customization is probably sufficient
  • If the big point here is just "I want a vertical list of open tabs rather than a horizontal strip" - that's covered by Feature request: Enable customization for tabs on bottom/right/left #835
  • But (I think) what you're really asking for is "I want a tree view, with my profiles in the root, and all the open tabs for each profile nested under them". Somethings like that?

(apologies for the programmer art here - mostly stolen from the "hierarchical" NavigationView )
image

@thernstig
Copy link
Author

thernstig commented Nov 30, 2023

Your assumption is correct for the last time in your bullet list. Let us call it a "Tree View" to have a term for it. It might be that #835 could be used to solve this as well, I do not know.

Another benefit of a tree view is that one could remove the tabs completely, and get more Y-axis real estate if wanted.

I am honestly ok with closing this one completely, if you feel it is not worth to invest that time. It is not a huge deal to me, but I have seen some users in our enterprise that would prefer that kind of view proposed here.

(I like the programmer art)

@zadjii-msft
Copy link
Member

Okay so we discussed a bit: we agree that this is a sensible feature request. It'd be a setting to configure how vertical tabs work, post-#835.

However, we're pretty impossibly far away from being able to implement #835 ourselves. So we're gonna close this out. If someone wants to do #835, then this, we're here for it. Otherwise we'll mark it up as a neat idea for a 3p extension, whenever #4000 is implemented.

@zadjii-msft zadjii-msft closed this as not planned Won't fix, can't repro, duplicate, stale Dec 6, 2023
@zadjii-msft zadjii-msft added Area-User Interface Issues pertaining to the user interface of the Console or Terminal Area-Extensibility A feature that would ideally be fulfilled by us having an extension model. and removed Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting Needs-Attention The core contributors need to come back around and look at this ASAP. labels Dec 6, 2023
@zadjii-msft zadjii-msft added this to the Icebox ❄ milestone Dec 6, 2023
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. Needs-Tag-Fix Doesn't match tag requirements
Projects
None yet
Development

No branches or pull requests

2 participants