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>

Reply via email to