crowbartools / Firebot

A powerful all-in-one bot for Twitch streamers
https://firebot.app
GNU General Public License v3.0
352 stars 100 forks source link

[Feature Request] Menus and other UI elements support keyboard shortcuts #2835

Open mikebaz opened 5 days ago

mikebaz commented 5 days ago

Describe the solution you'd like I would like Firebot menus (at a minimum) to support keyboard shortcuts, e.g. Alt+F to open the File menu.

Additional context It's a normal UI convention in Windows to have menus support keyboard navigation. Although some conventions (e.g. Alt+F) are likely used more often than others (e.g. F10 to activate the menu bar), it shouldn't be an extreme lift to add at least some basic capabilities, I suspect. I bump up against relatively often, as I expect to open menus with Alt+[key], then realize, "oh, that didn't work".

phroggster commented 5 days ago

We can certainly get main window menu bar accelerator keys added, as well as run that portion through a usability guidelines checklist, and add some missing items. One downside will be that we'd have to remove internationalization from the few entries that already use it in the menus (notably File > Quit, or Help > About) in order to add accelerators to those items.

I'd much prefer to keep internationalization where it already exists, but I also feel that proper menu accelerator keys are important. I also do not believe that we have the backend in-place to perform our own internationalization of menu item labels, much less one that's inclusive of accelerator keys.

I will likely go ahead and submit a pull request in the near future adding accelerator keys to every menu option, and locking everyone's menu into English throughout, as much as I dislike that approach. Let the devs try it out and decide if it's better or worse, and we can adjust things from there.

phroggster commented 5 days ago

Well, so much for that idea. Apparently Electron needs a window frame in order to allow the menu access keys (MAK) to function. I enabled the frame after adding MAKs just to see, and no, it's not worth it (see below). It's possible that they'll get it working in the future, and we can revisit this issue.

mak