[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: How can I use org-add-note with emacsclient?
From: |
equal . moon0346 |
Subject: |
Re: How can I use org-add-note with emacsclient? |
Date: |
Tue, 26 Dec 2023 16:35:47 +0000 |
User-agent: |
Cyrus-JMAP/3.9.0-alpha0-1364-ga51d5fd3b7-fm-20231219.001-ga51d5fd3 |
On Mon, Dec 25, 2023, at 14:35, Ihor Radchenko wrote:
> equal.moon0346@fastmail.com writes:
>
>> I'm trying to figure out how to start a note (C-c C-z) on the currently
>> clocked task from emacsclient. Here's what I have so far:
>> ...
>> emacsclient -s test -nw --eval '(progn (org-clock-goto) (org-add-note))'
>>
>> This seems to have no effect. Oddly, if I paste this into M-:, it works
>> fine. I've tried a number of things with e.g. plain capture templates that
>> run the above code :after-finalize, using call-interactively, etc. After a
>> cursory reading through the info manual on interactivity I find I'm still a
>> bit lost. Can anyone explain what I'm doing wrong and hopefully point me to
>> the right manual page to read on this?
>
> `org-add-note' is implemented a bit awkwardly using post-command-hook,
> which makes it work only interactively.
> The hook does not trigger when you use --eval. That's why you are not
> seeing the note buffer after running the above shell command.
>
> What you can do is manually call the function used to raise the note
> buffer:
>
> emacsclient -nw --eval '(progn (org-clock-goto) (org-add-note)
> (org-add-log-note))'
Thanks, this works! I'm curious as to why though. Shouldn't something like
call-interactively solve this problem too? I'm thinking it has something to do
with how the command loop works that I don't understand.