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

Align scroll behavior for side panel views with VS Code #12416

Closed
tortmayr opened this issue Apr 14, 2023 · 1 comment · Fixed by #12593
Closed

Align scroll behavior for side panel views with VS Code #12416

tortmayr opened this issue Apr 14, 2023 · 1 comment · Fixed by #12593
Assignees
Labels
ui/ux issues related to user interface / user experience

Comments

@tortmayr
Copy link
Contributor

As a user, I want to conveniently work with the left toolbar also if it contains many views that go beyond what can be shown in the available space.
Currently Theia shows a scroll bar, if the number of views in the left toolbar go beyond what can be shown in the available space, whereas the scrollbar only becomes visible when users hover over the toolbar. This is not very intuitive.

A behavior similar to VS Code would be more user friendly. Instead of displaying a scroll bar a new icon showing three dots should appear as the last item in the toolbar if there are more views than can currently fit in.

On clicking the three dots, a menu showing all views that aren’t visible shall be displayed.

The toolbar with the three dots at the end should always show the following:

  • Views that fit on the screen
  • The currently active view
  • The three dots

If the currently active view would not fit at the moment, it becomes the last item after the views that still fit and before the three dots. If the currently active view fits on the list of visible views, it remains at the original position and is shown as active.

In our opinion this is major UX improvement compared to the way it is currently handled and should be implemented as the default behavior. However, if the community disagrees we can also aim at making this an opt-in feature that is configurable via preferences.

@tortmayr tortmayr self-assigned this Apr 14, 2023
@msujew
Copy link
Member

msujew commented Apr 14, 2023

@tortmayr This feature would also be great for the menu bar, since we don't even have a scrollbar there. Menus just move into the invisible area of the document.

@msujew msujew added the ui/ux issues related to user interface / user experience label Apr 14, 2023
tortmayr added a commit that referenced this issue Jun 5, 2023
Rework behavior of the sidepanels if there more tabs than they can fit. 
Introduce behavior similar to VS Code: Overflowing tabs will simply be hidden or 'merged' into one menu button at the end
of the tabbar. Clicking the button allows revealing of a currently hidden view.
Special handling is implemented to ensure that the currently selected view never gets hidden away.

Fixes #12416
tortmayr added a commit that referenced this issue Jun 27, 2023
Rework behavior of the sidepanels if there more tabs than they can fit. 
Introduce behavior similar to VS Code: Overflowing tabs will simply be hidden or 'merged' into one menu button at the end
of the tabbar. Clicking the button allows revealing of a currently hidden view.
Special handling is implemented to ensure that the currently selected view never gets hidden away.

Fixes #12416
tortmayr added a commit that referenced this issue Jun 28, 2023
Rework behavior of the sidepanels if there more tabs than they can fit. 
Introduce behavior similar to VS Code: Overflowing tabs will simply be hidden or 'merged' into one menu button at the end
of the tabbar. Clicking the button allows revealing of a currently hidden view.
Special handling is implemented to ensure that the currently selected view never gets hidden away.

Contributed on behalf of STMicroelectronics
Fixes #12416
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ui/ux issues related to user interface / user experience
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants