Friedrich Delgado writes: > I use zsh and I already use this: > > ,----[ ~/bin/uriescapepwd.pl ] > #!/usr/bin/perl -w > use URI::Escape qw/ uri_escape uri_escape_utf8 /; > use Cwd qw/getcwd abs_path/; > $pwd = abs_path(getcwd); > print uri_escape_utf8($pwd); > `---- Woot, one step. Then I also did a quick filter. --- use URI::Escape qw/ uri_escape uri_escape_utf8 /; use Cwd qw/getcwd abs_path/; print uri_escape_utf8(<>); --- At that point, I could do: --- emacsclient -c org-protocol://capture:/I/file:`~/bin/uriescapepwd`/`~/bin/uriescapepwd`/`/usr/bin/zenity --entry --text="New TODO" |~/bin/uriescape` ---- The 'I' selects template, in which I'm using :immediate-finish. That's one. For the 'Close the client frame' purpose, I applied the attached patch, and then I could, in my own myorg.el file: ----- ( defun asr-org-capture-finalize () "If we set the correct property in the capture template, then delete frame." ( if (org-capture-get :asr-delete-frame-on-finalize) (delete-frame) ) ) (add-hook 'org-capture-after-finalize-hook 'asr-org-capture-finalize ) ----- which lets me define a capture template with property :asr-delete-frame-on-finalize 1 and then use that template. Thanks, Eric and Friedrich... - Allen S. Rout