tiny-pilot / tinypilot

Use your Raspberry Pi as a browser-based KVM.
https://tinypilotkvm.com
MIT License
2.89k stars 244 forks source link

Avoid accidentally closing (sub-)menu too early #1725

Closed mtlynch closed 5 months ago

mtlynch commented 5 months ago

One of the things I noticed in a lot of the videos for https://github.com/tiny-pilot/tinypilot-pro/pull/1169 was that there are a lot of instances where Jason was navigating the menu and the menu closed too fast because he moved his cursor just off the menu.

We should explore increasing the timeout so that the menu stays visible for an extra 100-200ms after the cursor leaves the menu area.

jotaen4tinypilot commented 5 months ago

There is a closely related usability issue, which likely might (or rather: should) be addressed by the same solution (i.e., the proposed delay).

When hovering over a menu item to open a sub-menu, and then moving the cursor diagonally into the sub-menu, it might occur that the sub-menu closes due to the trajectory of the cursor.

If the cursor follows the red trajectory, it briefly leaves the “Networking” menu item, which causes the sub-menu to close immediately. Only if you follow the green trajectory, the sub-menu stays open.

(Sorry, by the way, for psychoanalyzing you here @jdeanwallace, but I noticed in your screen recordings that you do a very good job to carefully follow that green trajectory 🤣)

Screenshot 2024-01-23 at 19 03 32

https://github.com/tiny-pilot/tinypilot/assets/83721279/f19193a3-e4ef-4c56-b899-38f6dad99a61

(The timing in the video is a bit exaggerated.)

jotaen4tinypilot commented 5 months ago

For reference, macOS also uses the delay technique in their native UIs:

https://github.com/tiny-pilot/tinypilot/assets/83721279/754d38b0-d180-4427-8b0e-5d933b9533b2