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

Please make NETworkManager keyboard-controllable! (i.e.: Add loads of hotkeys) #1729

Open
knobhead opened this issue Nov 25, 2022 · 4 comments

Comments

@knobhead
Copy link

Hi!

πŸ‘ thanks for NETworkManager – just discovered it and fell in love instantly! Great work! (I'm using atm v.2022.10.31.0)

As a keyboard maniac, I'd love to have more (configurable!) hotkeys and keyboard interaction in NETworkManager! 😍

Here are some suggestions for default hotkeys:

  • Add unique (!) accelerator letters to the applications in the left colum
  • Add unique (!) accelerator letters to the context menu items of list entries (e.g. IP scan result list item)
  • Alt+Up / Alt+Down to switch between applications
  • Alt+F / Alt+A: set input focus in top-left search panel
  • Ctrl+Tab / Ctrl+Shift+Tab to cycle through open tabs
    (both connection tabs as well as tabs like β€žInformationβ€œ, β€žBandwidthβ€œ, β€žConfigureβ€œ in the β€žNetwork Interfaceβ€œ application
  • Ctrl+F / Ctrl+P: set input focus in top-right search panel.
  • When either one of the search panels has focus and (or input already), Up / Down should directly navigate the (filtered) list of applications / profiles below.
  • Alt+P: Open profile-picker dropdown, Enter loads selected profile, Esc closes
  • Ctrl+W: Close tab (if possible, else sound a beep/bell to signal user that they hotkey was pressed but can't work)
  • Ctrl+, / Ctrl+Shift+S: Open Settings
  • Ctrl+. / - Ctrl+Shift+P: Open Profiles Tab of Settings Window

In Settings window:

  • Esc / Ctrl+W: Close settings, return to main window
  • Alt+Up / Alt+Down to switch between setting sections in the left colum
  • Ctrl+Tab / Ctrl+Shift+Tab to cycle through tabs
  • Make all of these hotkeys user-configurable through the hotkeys section

In general: Add unique accelerator letters to all labelled user interface elements. This can be tricky to achieve with localization, but it should be possible

Caveat: For applications embedding other windows (like PowerShell, Web Console, PuTTY and RDP), which might capture hotkeys as well, a modifier break-out hotkey would be great. You know, like some virtual machine hypervisor consoles (e.g. VirtualBox) handle it: Hotkeys go straight into the VM, except when e.g. right control key RCtrl is pressed once beforehand, then hotkeys go to the host machine.

I know that's a lot of work, but this might add even more speed and niftyness to this wonderful swiss-army knife! πŸ’ͺ

Cheers

@BornToBeRoot
Copy link
Owner

I think it's a good idea. Maybe I can implement this step by step.

@knobhead
Copy link
Author

Cool! Let me know if I can be of assistance with testing or anything else non-code related πŸ™ˆ
Any ways to donate a coffee? liberapay, opencollective, EU-SEPA?

@BornToBeRoot BornToBeRoot added this to the backlog milestone Mar 10, 2023
@BornToBeRoot BornToBeRoot mentioned this issue Sep 20, 2023
5 tasks
@BornToBeRoot
Copy link
Owner

@knobhead what do you think about this? You can switch between apps via Commands and also start tasks like ping/traceroute/ip scanner or connect to systems.

#2502

Theoretically you could also pass profile names instead of arguments like IP address.

In the future, maybe with suggestions. What I do not know how to implement this.

@knobhead
Copy link
Author

@knobhead what do you think about this? You can switch between apps via Commands and also start tasks like ping/traceroute/ip scanner or connect to systems.

Looks nice, but also seems more difficult to implement for you than simple hotkeys as suggested here?
And more typing is required. Hotkeys could increase accessibility, too...

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

No branches or pull requests

2 participants