On 20/06/2022 19:10, Ihor Radchenko wrote:
Max Nikulin writes:
Sure. I was hinting about such functionality in the new library we are
discussing. Multiple capture menus are not possible now anyway, so it
will be a new feature if we decide that we need it (I am not 100% sure
if having multiple menus is not going to be confusing).
In my opinion application logic should be consistent with UI. Do you
think current behavior of help buffers has no problems? If so I have no
chance to convince you that upgrade of menu should be accompanied by
changes in org-capture.
Consider the following case. A user has 2 virtual desktops dedicated to
rather independent tasks and an Emacs frame on each desktop. On desktop
1 she opens help for some function with aim to evaluate if it is
appropriate for some particular purpose. Next she has to switch to
another task and applications for it reside on virtual desktop 2. To
proceed further she has to read several help pages relevant for task 2.
After completion of this task it is time to resume task 1 and to switch
to virtual desktop 1. Does a window with the help buffer still display
the same content as before switching to task 2? No, context on desktop 1
lost due to some actions in the Emacs frame on desktop 2.
Such synchronization is against multitasking and I do not like the idea
to get it for org-capture as well. Currently read-key and modal prompt
is a kind of excuse, but the idea of new menu library is non-blocking
keymap-based selection.
Currently several capture menu instances may be requested though
org-protocol (or calling org-capture from emacsclient). The behavior is
rather confusing. New menu may help to fix the issue, that is why I
raised the question about parallel captures.
I am not sure which behavior you have in mind.
try the following commands without selecting a template in an Emacs
frame in between
emacsclient 'org-protocol:/capture?url=url-A&title=title-A&body=body=A'
emacsclient 'org-protocol:/capture?url=url-B&title=title-B&body=body=B'
What I was thinking as a conservative implementation that would not
introduce any new features is replacing the old menu with the new one
every time the same menu is called. So, every time the user calls menu
(e.g. capture menu), only the last capture environment is preserved. The
previous, potentially unfinished, capture menus will be destroyed.
Causing loss of user data. Currently it is hard to start new capture
before selecting a template.