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

UI: Add dock for switching viewlets/panels #15262

Closed
octref opened this issue Nov 9, 2016 · 10 comments
Closed

UI: Add dock for switching viewlets/panels #15262

octref opened this issue Nov 9, 2016 · 10 comments
Assignees
Labels
feature-request Request for new features or functionality ux User experience issues
Milestone

Comments

@octref
Copy link
Contributor

octref commented Nov 9, 2016

#1105 - Provide an option to hide the activity bar currently has 79 upvotes.

Per today's discussion in UX meeting #15217, I came up with this idea:

(Ignore the blank part on the right, just a quick hack to get the idea across)

dock

It'll work similarly to Windows's Ctrl+Tab or macOS's Cmd+Tab. Say if you have Cmd+B assigned to it:

Workflow

  • Cmd+B brings up this dock

    • If sidebar is hidden, also bring up the dimmed Viewlet
    • If sidebar is shown, dim active Viewlet

    dock

  • While Cmd is pressed, additional B selects next Viewlet, both the highlight item on the dock and dimmed Viewlet background update

    flow 2

  • When Cmd is released, dock is gone. The last selected Viewlet is shown.

    image

Additional

  • This could also apply to panels, where we can have a horizontal dock.

What does everyone think?

@Microsoft/vscode

@octref octref added feature-request Request for new features or functionality ux User experience issues labels Nov 9, 2016
@joaomoreno
Copy link
Member

joaomoreno commented Nov 10, 2016

Interesting idea.

But, instead of introducing new UI, why not reusing the pick API to switch between the viewlets? You could reach that pick by running a Switch View command or through a given keyboard shortcut. This is something we could benefit from today even without hiding the activity bar.

Also, note that Cmd B is the shortcut that currently shows and hides the sidebar.

@octref
Copy link
Contributor Author

octref commented Nov 10, 2016

pick API to switch between the viewlets

That's a good idea. Let me give that a try as an extension. (Although I'd prefer some visual indication.)

@sandy081
Copy link
Member

Looks good. I liked the idea of navigating the views with single key board shortcut / command. But how about following small suggestions?

  • Toggle side bar: Toggles the visibility of side bar
  • Navigating views: Navigates the views. (If side bar is hidden, opens the sidebar and navigates)

@bpasero
Copy link
Member

bpasero commented Nov 10, 2016

I would also follow our UX model we have for when navigating files and just open a picker with the views. I think this could be done as an extension but I also do not mind to having this as a core workbench command (especially now that I pushed the option to hide the activity bar).

@octref if you are interested in providing a PR on this, I can review it 👍

@bpasero bpasero added the help wanted Issues identified as good community contribution opportunities label Nov 10, 2016
@octref
Copy link
Contributor Author

octref commented Nov 10, 2016

@sandy081 Thanks for the suggestion. Will keep that in mind while doing the PR.

@bpasero Sure, I'll give it a try.

@bgashler1
Copy link
Contributor

I'm also for the picker so that you can use a hotkey to open it, or you can find it in the Command Palette.

@jrieken
Copy link
Member

jrieken commented Nov 10, 2016

👍 for picker and it should also contain the panels, not just flat but like Problems, Debug Repl, TypeScript Output, Foo Output, Terminal 1, Terminal 2. One picker to jump to all no-editor views.

@octref octref self-assigned this Nov 14, 2016
@bpasero bpasero added this to the November 2016 milestone Nov 26, 2016
@bpasero bpasero assigned bpasero and unassigned octref Nov 26, 2016
@bpasero bpasero removed the help wanted Issues identified as good community contribution opportunities label Nov 26, 2016
@bpasero
Copy link
Member

bpasero commented Nov 28, 2016

I introduce a new picker ("Open View") that shows all viewlets, panels, output channels and terminals:

image

@bpasero bpasero mentioned this issue Nov 28, 2016
2 tasks
@jrieken
Copy link
Member

jrieken commented Nov 28, 2016

I like, but I see unneeded repetition of Output and Terminal - once as instances and once as category. I think I cannot open terminal without opening an instance of a terminal. likewise with output-channels

@bpasero
Copy link
Member

bpasero commented Nov 28, 2016

Good point, I think we can merge them. For output that is straight forward, for terminals we can only do it if we also have an instance opened which requires to open a terminal panel first.

The only drawback would be that you cannot just jump back to your last Output or Terminal, you need to know where you left off.

@vscodebot vscodebot bot locked and limited conversation to collaborators Nov 18, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
feature-request Request for new features or functionality ux User experience issues
Projects
None yet
Development

No branches or pull requests

7 participants