GUI-HUD Overlay idea.
Some mockups for Unity HUD overlay (substitute/extension for DWD, replaces global menu panels and locally integrated menus).
This is article describes the HUD component of the Unity (SSD) Headerbars idea.The full concept is described here: https://medium.com/@leftcrane/unity-headers-concept-using-server-side-hearderbars-to-create-a-consistent-customizable-and-fbdb0d9696c
The principle is the same: using global menu functionality to move menubars and toolbars out of the application, leave more room for content, standardize the UX and improve flexibility. The HUD could also lay the foundation for Headerbars+HUD in the future.
Regular non-CSD application, with menubar and toolbar:
Regular non-CSD application after the global menu hacks (not a hack on QT5 though). Menubar is gone:
Some apps (KDE, office etc) allow you to hide the toolbar too:
In place of the menu bar we can use the HUD overlay. HUD is triggered by Alt key.
Menubar is drawn at the top of the HUD. One could also create toolbars from individual menu items (bottom). Frequently used commands can be pinned (or they can show up automatically without user input).
The overlay is dark here, but I think it makes sense to make it light, if the app is using a light theme and dark if it’s using a dark theme.
Second mockup for hud. Menu items are drawn as big buttons, allowing the whole thing to be used a touch interface:
Search UI could also replace other widgets when the user starts typing (like Nautilus 3.30):
Other widgets are hidden when the user is searching the HUD.
Another idea is customizable single-key accelerators and macros, to get something like “Emacs which-key”:
Ideally, “which-key” would be part of the main HUD search. So you type “s” and if “s” is you accelerator for “Save”, it shows up at the top of the search.
One could also have two modes: regular and immediate. Immediate mode activates the result without the return key, like Emacs/Vim commands or this Gnome window-switcher extension. Regular mode requires hitting return.
The configuration of the interface can be stored per-application and can be augmented by users, developers and packagers.
Existing HUD projects
All of these HUDs depend on the work done