Tor-björn Claesson <[email protected]> writes: >>> Also, if we port org-attach to org-menu, should we enable org-menu-mode >>> by default? That will change the behaviour of the basic citation >>> handler, but this feels more like a feature enhancement than something >>> that would upset people. >> >> Good question. >> The dumbest thing we can do here is simply >> >> (org-menu-define org-attach () >> "The dispatcher for attachment commands. >> Shows a list of commands defined in `org-attach-commands' using `org-menu'." >> :menu org-attach--commands-to-transient-specification >> :default-action (org-attach--old-org-attach-menu-system nil nil) >> :override org-attach--old-org-attach-menu-system) >> > > My feeling is that that solution is less nice than just enabling > org-menu by default. The default behaviour we are protecting by leaving > it disabled is that citations automatically open to the bibliography > file. I do not think this is very useful?
I agree that enabling org-menu by default will be cleaner. I think I know now why I feel friction about this idea - we need per-menu setting to suppress org-menu-mode effects. That way, we will not be stuck with org-menu being all-or-nothing for all the commands that have capability to display the menu. >>> +(defcustom org-menu-disable-overrides nil >>> + "If this is true, `org-menu-system-overrides' will be ignored." >>> + :group 'org-menu >>> + :package-version '(Org . "9.8") >>> + :type 'boolean) >> >> Not sure about this one. Some commands simply cannot support transient >> or other menu systems. > > If a command can not use alternative menu systems, what is the benefit > of porting it to org-menu? If there is any case where this makes sense, > then org-menu-disable-overrides has to go, but otherwise I like the > option of guaranteeing that all menus are presented in the same way. Thinking about, I agree. We already have a way to transform actions into transient and other menu systems, so once command support transient, it should also support other systems. However, what I do not like about the above is that we have two global defcustoms, while also having per-command actions/default-action as separate defcustom for each command. What about making an override a defcustom - org-<command>-overriding-menu? Then, users can set it to nil per command, thus allowing the effects of org-menu-disable-overrides and org-menu-system-overrides into a single place. -- 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>
