Juri Linkov <j...@linkov.net> writes: >> 1. List of possible actions: ((name1 . action1 props) (name2 . action2 ...) >> ...) >> PROPS is a plist defining extra properties like key-binding, display >> string, maybe something else to be used in the future. >> 2. Menu interface to use (transient, context-menu, embark, which-key) > > This looks like the best design. Any part of the org buffer could have > text properties with a list of its available actions. Such a property > could be similar to 'context-menu-functions' handled by 'context-menu-map'. > But since it will be a plain generic list, it could be transformed to any > menu interface such as transient, context-menu, etc.
I am a bit lost. Maybe I did not describe the use cases I had in mind well. What I have in mind is a menu UI for various commands: 1. org-open-at-point (one set of actions) 2. org-ctrl-c-ctrl-c (another set of action) 3. some other command 4. ... Then, "actions" will be various options a given command can do. In such scenario, the usefulness of text properties is elusive to me. I'd rather link the menu items to a command, not to place in buffer. > To transform it to context-menu, org-mode should provide a function > like 'context-menu-minor' that will create a corresponding menu > that will be added as a submenu of the default context menu. > > Such integration with existing menus would be better than the current > implementation of context menus in org-mouse-context-menu that completely > replaces the context menu with its own. What do you mean by "default context menu"? -- Ihor Radchenko // yantar92, Org mode maintainer, Learn more about Org mode at <https://orgmode.org/>. Support Org development at <https://liberapay.com/org-mode>, or support my work at <https://liberapay.com/yantar92>