Feature Request: Make all application commands discoverable/invoke-able by search
Feature summary
Make all commands in an application discoverable and invoke-able by search. The following applications allow this functionality:
- IntelliJ
- SublimeText
- VS Code
- All applications in macOS (Command-Shift-Slash) invoke with the result appearing in the Help section of the menu bar
The problem this feature request seeks to address is clear:
Traditionally, the agreed-upon idiom to make application commands discoverable was the menu bar. Every application on Windows, Linux and macOS supported a menu bar accessible by mouse/trackpad and to some degree by invoking keyboard shortcuts (ex: Alt-F for the the "File" menu).
However, on Windows/Linux this required every application window to render its own menu bar (unlike macOS where it's at the top of the screen). This has has implications for screen real estate.
So many new applications, especially GNONE first party applications, did away with the menu bar entirely. GNOME supports a menu at the top of the screen with menu options, but most third party applications (ex Firefox) don't make use of it at all, leading to a minimal set of commands accessible there.
The other way to access application commands is to invoke keyboard shortcuts. The problem is each application binds different keyboard shortcuts to different commands where this is no clear convention (ex: CTRL-O to open a file). This requires a user to consult the application's documentation, help menu, or use an online search engine. There's also the problem that many applications have undocumented keyboard shortcuts for important functionality.
Bottom line: This feature request seeks to resolve the application command discoverability problem, especially for novices or users who'd rather not deal with the mental burden of memorizing keyboard shortcuts or clicking through nested menus.
How would you like it to work
This is how I'd like to see a user invoke this functionality:
- Invoke a keyboard shortcut (ex: CTRL-SHIFT-P) or click a magnifying glass button
- Type the command you wish to invoke (ex: "Preferences" for Edit > Preferences)
- Hit ENTER
- The command (ex: the Preferences windows) completes and the result appears on the screen.
There is no way I know of for GNOME to do this other than the above mentioned keyboard shortcuts or applications that support a full menu bar.
GNOME's Overview offers a rich array of search functionality, but cannot search for commands within a given application.
Examples of Overview searches:
- Search for application to launch
- Search for open application to switch to
- Search for files to open
- Search for GNOME-wide preferences
- etc...
I understand that implementing this feature would be a massive undertaking, and that no operating system I know of except macOS comes close to supporting this. Furthermore, I understand that this will be even more difficult for third party applications or applications that do not use some variant of GTK API (ex a Qt application in KDE).
Perhaps there is a way to iterate to the idea state, or to support this functionality only for first party GNOME apps.
My goal in filing this feature request is to address the application command discoverability problem, which I think severely inhibits productivity for all desktop computer operating system users. Even the macOS feature I described above is not widely advertised and is somewhat clumsy to invoke, so I consider it by no means ideal.
Relevant links, screenshots, screencasts etc.
Here is an example of how macOS implements this feature:
IntelliJ:
SublimeText: