obsproject / design

Mockups and design tasks for OBS Studio
Creative Commons Zero v1.0 Universal
20 stars 3 forks source link

Rethink Hotkeys #7

Open GeorgesStavracas opened 1 year ago

GeorgesStavracas commented 1 year ago

Seems like improving hotkeys is a priority for community members.

We need to:

gxalpha commented 1 year ago

To sum up what I believe to be current consensus:

The major problem with the hotkeys window is that the list, as currently presented, can get very long (especially with lots of scenes and sources). This makes it hard to navigate and the settings window takes ages to load because of it.

The end goal should be a view that doesn't contain every possible hotkey even if it's not used (typically, only a minority of the possible hotkeys will actually get set), but gives the user a flow that lets them add the ones they need, while still keeping it obvious that all those hotkeys exist.

Fenrirthviti commented 1 year ago

Adding an example of the style we are thinking about. This is how Mumble handles hotkeys: image

gxalpha commented 1 year ago

To add to the list of things needed here, there was the idea floating around of hotkeys with configurable properties (e.g., the "Save Replay Buffer" hotkey having a "Duration" and/or a "Flush after Saving" setting). It would be useful for a hotkey rework to at least take this into consideration when creating a design, even if it isn’t implemented immediately.

tytan652 commented 10 months ago

Adding the GlobalShorcuts portal in the equation, it makes the UI/flow requires to "work" with two design:

  1. Completely managed by the application, the registered hotkey get its shortcut-bind from the app (Windows, macOS and X11), the actual design
  2. Partially managed by the application, the registered hotkey get its shortcut-bind from the desktop environment (Linux with xdg-desktop-portals)
    • (implementation-related but affects the flow) Hotkey's can not (or rather should not) be registered one by one, it should done once or at least per block (e.g frontend and per source/encoder) to reduce the number of permission prompt
    • The user should not end up having to re-register the hotkeys to the desktop environment each time they start the app