Hi,
I have a problem configuring org-protocol.

I followed the doc here : https://orgmode.org/manual/Protocols.html
and also the one on worg :
https://orgmode.org/worg/org-contrib/org-protocol.html

The following in a terminal now correctly opens an emacs frame with the
capture template in place :

$ emacsclient -c "org-protocol://capture?template=t&url=test"

But the following only opens an emacs frame, not the capture
template :

$ xdg-open "org-protocol://capture?template=t&url=test"

The javascript examples in the docs fail for me in the same way : they
open a new emacs frame, but not the capture template.

Since the frame is opened, I assume that xdg-open passes the request
to emacsclient. I think this confirms it too :

$ xdg-mime query default x-scheme-handler/org-protocol
emacsclient.desktop

So the problem as i understand it is that when emacsclient is called by
xdg-open it does not parse the query in the same way as when
I invoke it directly as emacsclient from the shell.

I attach below my emacsclient.desktop

How can I debug this issue?

Regards,
Victor

cat /usr/local/share/applications/emacsclient.desktop
[Desktop Entry]
Name=Emacs (Client)
GenericName=Text Editor
Comment=Edit text
MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++;x-scheme-handler/org-protocol;
Exec=sh -c "if [ -n \\"\\$*\\" ]; then exec /usr/local/bin/emacsclient 
--alternate-editor= --reuse-frame \\"\\$@\\"; else exec emacsclient 
--alternate-editor= --create-frame; fi" sh %F
Icon=emacs
Type=Application
Terminal=false
Categories=Development;TextEditor;
StartupNotify=true
StartupWMClass=Emacs
Keywords=emacsclient;
Actions=new-window;new-instance;

[Desktop Action new-window]
Name=New Window
Exec=/usr/local/bin/emacsclient --alternate-editor= --create-frame %F

[Desktop Action new-instance]
Name=New Instance
Exec=emacs %F

Reply via email to