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

WindowServer: More natural menu navigation #1094

Closed
xTibor opened this issue Jan 18, 2020 · 1 comment · Fixed by #1097
Closed

WindowServer: More natural menu navigation #1094

xTibor opened this issue Jan 18, 2020 · 1 comment · Fixed by #1097

Comments

@xTibor
Copy link
Contributor

xTibor commented Jan 18, 2020

This is a GUI usability issue. Submenus in the global menu require somewhat rigorous mouse movements, they feel like playing the Scary Maze Game. It would be nice to have a Bruce Tognazzini-style menu navigation from old Apple machines.

The basic idea is on hovering a menu item you draw an imaginary triangle between the top and bottom of its submenu and the mouse cursor. When moving the cursor you check if the cursor is in that triangle. If it is then you retain the originally selected menu item and use the new cursor position for the next triangle.

A small animation that might clear things up if that description sounds a bit cryptic:

menu

shannonbooth added a commit to shannonbooth/serenity that referenced this issue Jan 18, 2020
Use an imaginary triangle between the top and bottom of the submenu of a
hovered item to determine whether the mouse is moving towards the
submenu. If it is, we do not update the hovered item. This allows the
submenu to stay open, making for much easier menu navigation.

Closes SerenityOS#1094
shannonbooth added a commit to shannonbooth/serenity that referenced this issue Jan 18, 2020
Use an imaginary triangle between the top and bottom of the submenu of a
hovered item to determine whether the mouse is moving towards the
submenu. If it is, we do not update the hovered item. This allows the
submenu to stay open, making for much easier menu navigation.

Closes SerenityOS#1094
@shannonbooth
Copy link
Member

Great description by the way 🙂 Super clear

shannonbooth added a commit to shannonbooth/serenity that referenced this issue Jan 19, 2020
Use an imaginary triangle between the top and bottom of the submenu of a
hovered item to determine whether the mouse is moving towards the
submenu. If it is, we do not update the hovered item. This allows the
submenu to stay open, making for much easier menu navigation.

Closes SerenityOS#1094
shannonbooth added a commit to shannonbooth/serenity that referenced this issue Jan 19, 2020
Use an imaginary triangle between the top and bottom of the submenu of a
hovered item to determine whether the mouse is moving towards the
submenu. If it is, we do not update the hovered item. This allows the
submenu to stay open, making for much easier menu navigation.

Closes SerenityOS#1094
shannonbooth added a commit to shannonbooth/serenity that referenced this issue Jan 19, 2020
Use an imaginary triangle between the top and bottom of the submenu of a
hovered item to determine whether the mouse is moving towards the
submenu. If it is, we do not update the hovered item. This allows the
submenu to stay open, making for much easier menu navigation.

Closes SerenityOS#1094
awesomekling pushed a commit that referenced this issue Jan 19, 2020
Use an imaginary triangle between the top and bottom of the submenu of a
hovered item to determine whether the mouse is moving towards the
submenu. If it is, we do not update the hovered item. This allows the
submenu to stay open, making for much easier menu navigation.

Closes #1094
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants