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

Revisit how activity bar items and status bar items can be hidden by the user #113757

Closed
egamma opened this issue Jan 4, 2021 · 11 comments
Closed
Assignees
Labels
insiders-released Patch has been released in VS Code Insiders layout General VS Code workbench layout issues on-testplan plan-item VS Code - planned item for upcoming under-discussion Issue is under discussion for relevance, priority, approach ux User experience issues
Milestone

Comments

@egamma
Copy link
Member

egamma commented Jan 4, 2021

Currently hiding an activity bar item is different than hiding a status bar item.

Activity bar:
image

Status bar:
image

Hiding the selected item is the top most item in the activity bar and the bottom most item in the status bar.

Do we need support for hiding the selected item at all? The user can already hide any item from the menu.

As part of this effort should also investigate how to guide users about how to restore a hidden item.

@egamma egamma added the plan-item VS Code - planned item for upcoming label Jan 4, 2021
@egamma egamma added this to the January 2021 milestone Jan 4, 2021
@egamma egamma changed the title Revisit how activity bar items and status bar items are hidden by the user Revisit how activity bar items and status bar items can be hidden by the user Jan 4, 2021
@bpasero
Copy link
Member

bpasero commented Jan 4, 2021

@egamma there is a specific reason why "Hide" is the last entry in the status bar and not to the top. Since the menu opens from the bottom to the top in the status bar, it felt more natural to have the "Hide" entry closer to the mouse and not all the way up.

As for consistency, I think the "Hide" entry in the activity bar could spell out the name of the view to hide.

What is the push for removing "Hide" entirely?

//cc @sandy081 @kieferrm

@bpasero bpasero added under-discussion Issue is under discussion for relevance, priority, approach ux User experience issues layout General VS Code workbench layout issues labels Jan 4, 2021
@bpasero
Copy link
Member

bpasero commented Jan 6, 2021

Added the names to:

image

image

@bpasero bpasero closed this as completed in 448d049 Jan 6, 2021
@kieferrm
Copy link
Member

kieferrm commented Jan 7, 2021

The starting point of the conversation was the home indicator in a Codespace. When I click on the home indicator, the context menu opens. The context menu has an hide action and it doesn't make sense there.

image

This leads to a more general discussion about the hide actions in the activity bar. On the status bar we have one way to configure the visibility of status bar items. I always get the same context menu no matter whether the click happens on a status bar item or not:

image

On the activity bar however I get a different menu depending on where I click:

On the activity bar (not a particular view icon):
image

On the activity bar (on a particular view icon):
image

On the account icon on the activity bar:
image

On the home indicator in a Codespace:
image

On the compact menu (in a Codespace):
image

It seems that we should

  • separate the context menu from the menu I get when clicking on home indicator, account, gear.
  • have one context menu for the activity bar no matter where I open it, that lets me configure visibility of contributions.

@kieferrm kieferrm reopened this Jan 7, 2021
@sbatten
Copy link
Member

sbatten commented Jan 7, 2021

I'm probably restating a bit here, but just for ensuring we are on the same page:

The viewlet icons in the activity might have specific actions such as Reset Location. These will still have to be appended to the context menu depending on click location.
image

We are inconsistent about right-click on icons in the activity bar. We should always open the context menu on right-click anywhere in the activity bar and no hide actions should be shown in the left click menus.

@bpasero
Copy link
Member

bpasero commented Jan 8, 2021

@kieferrm

The starting point of the conversation was the home indicator in a Codespace.

Since the home indicator will go away, I think it is fair to say that we have these things in the activity bar:

  • menu (mostly web only)
  • views
  • accounts
  • settings

On the status bar we have one way to configure the visibility of status bar items. I always get the same context menu no matter whether the click happens on a status bar item or not:

That is not true, the right-click menu on a status entry allows to quickly "Hide" it, while the click outside shows a menu without that entry. See the following video to proof that:

recording

On the activity bar however I get a different menu depending on where I click:

That is consistent with the status bar: if you click on a specific icon the menu may be different from the menu you get when you click somewhere outside any item.

We are inconsistent about right-click on icons in the activity bar. We should always open the context menu on right-click anywhere in the activity bar and no hide actions should be shown in the left click menus.

I think the real challenge here is that some of the entries in the activity bar have a left-click menu that is the same when you right-click. If we remove "Hide" actions from the left-click menu, would we show them when you right click?

Maybe it is easier we setup a call to discuss this item.

@sandy081 sandy081 self-assigned this Jan 8, 2021
@sandy081
Copy link
Member

sandy081 commented Jan 8, 2021

We are inconsistent about right-click on icons in the activity bar. We should always open the context menu on right-click anywhere in the activity bar and no hide actions should be shown in the left click menus.

Agree that we shall not show Hide Action in the left click menu and always show Hide actions in right click menu. I think we follow this every where (status bar, views).

image

image

We shall also use check mark for showing/hiding Accounts icon to make it consistent. Having a separator between top entries and bottom entries in activity bar is also inconsistent with left and right entries in status bar. Either we shall have the separator in both or not. Personally I feel separator makes sense.

image

image

Summarizing my suggestions:

  • Do not show hide actions on left click on activity bar icons
  • Use check mark to toggle Accounts icon in activity bar
  • Use separator between left/right status bar items toggling actions
  • Show Move Sidebar Right & Hide Sidebar actions also when right clicked on view

@bpasero
Copy link
Member

bpasero commented Jan 8, 2021

@sandy081 I like your suggestions, but the status bar one is not so straight forward. Given #74972 is still proposed API and needs adoption, the status bar will group every entry from extensions under a single name. So you can end up having left and right side entries under 1 name, so we cannot visually group them properly.

Also, when you have many entries in the status bar it maybe less obvious that there are left and right entries.

To conclude: I think the separators make a lot of sense in the activity bar because they separate views from other things like menu and accounts, but in the status bar I do not see a lot of value doing so.

@bpasero
Copy link
Member

bpasero commented Jan 11, 2021

After meeting we decided to:

  • remove "Hide" from all left click menus (home indicator, accounts)
  • consistently show the same right click menu for all entries in the activity bar
  • consistently show "Hide " as first entry when right clicking on something that can be hidden
  • consistently use checkboxes when toggling something (home indicator, menu, accounts)
  • reflect the order of entries in the right click menu according to what is visible (e.g. home and menu first) and use separators
  • do not show any entry for "Menu" when the user configured the menu to be fully visible outside the activity bar

@bpasero
Copy link
Member

bpasero commented Jan 12, 2021

@sbatten @sandy081 I pushed the changes as discussed, please let me know how it works for you.

@bpasero
Copy link
Member

bpasero commented Jan 12, 2021

One thing I was not able to do is showing a "Hide Menu" as first entry on the right click menu of the main menu in the activity bar. It looks like the main menu is not using our MenuActivityActionViewItem helper, which somewhat makes sense because the main menu does not open a context menu but our custom menu. Leaving it up to SteVen to decide if he still wants to push that.

@sandy081
Copy link
Member

Thanks @bpasero for the changes and they look good.

FYI I also made following changes

  • Aligned Reset Location to show always after Hide ${View} action everywhere (sidebar and panel views)
  • Aligned context menu actions on Panel views to show Move/Hide panel actions always

Sidebar

image

image

image

Panel

image

image

image

@bpasero bpasero added the verification-needed Verification of issue is requested label Jan 23, 2021
@bpasero bpasero added on-testplan and removed verification-needed Verification of issue is requested labels Jan 23, 2021
@github-actions github-actions bot locked and limited conversation to collaborators Feb 26, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
insiders-released Patch has been released in VS Code Insiders layout General VS Code workbench layout issues on-testplan plan-item VS Code - planned item for upcoming under-discussion Issue is under discussion for relevance, priority, approach ux User experience issues
Projects
None yet
Development

No branches or pull requests

6 participants
@egamma @bpasero @kieferrm @sbatten @sandy081 and others