Use case / problem
Many Obsidian community plugins add commands to different right-click context menus, such as:
-
file explorer context menu
-
editor context menu
-
link context menu
-
tab context menu
As more plugins are installed, these menus become longer and more cluttered, making common actions harder to find quickly.
I do not think this should apply to the Command Palette, because the Command Palette is already the universal place to search across all available commands.
The real issue is the presentation of commands across different context menus.
Right now, if a user wants to control whether a plugin command appears in a specific context menu, the only options are usually:
-
rely on the plugin author to provide a setting
-
or use another community plugin to hide menu items
This is not unified, not robust, and varies a lot from plugin to plugin.
Proposed improvement
Please provide a unified context menu management API, or even better, a unified user-facing system for managing plugin commands across context menus.
The goal is not to hide or disable commands themselves.
The goal is to let users centrally manage where those commands appear, for example:
-
whether a command appears in the file explorer context menu
-
whether it appears in the editor context menu
-
whether it appears in the link context menu
-
whether it appears in the tab context menu
Why this would help
-
Keeps the Command Palette complete
All commands remain searchable, so plugin functionality stays discoverable. -
Reduces context menu clutter
Users can keep right-click menus focused on actions that are actually relevant in each surface. -
Creates consistency across plugins
Plugin authors would not each need to build their own custom “show in menu” settings. -
Provides a clearer official model for developers
A formal API would make it easier for plugins to register commands consistently across menu types and allow Obsidian to manage them centrally. -
Improves long-term usability
As vaults grow and more plugins are installed, menu management becomes increasingly important.
One possible implementation direction
When a plugin registers a command into a context menu, it could include a clear menu-surface identifier, such as:
-
file-explorer
-
editor
-
link
-
tab
Obsidian could then use that metadata to provide a unified user-facing menu management interface, allowing users to decide which plugin commands appear in which menu surfaces.