Friedrich Delgado <frie...@nomaden.org> 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


>From 2086fe4be30d5383b9db4d5db91da6b03357c128 Mon Sep 17 00:00:00 2001
From: Allen S. Rout <a...@ufl.edu>
Date: Wed, 17 Nov 2010 12:52:02 -0500
Subject: [PATCH 3/3] Add post-finalize hook

---
 lisp/org-capture.el |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/lisp/org-capture.el b/lisp/org-capture.el
index 2abe5c7..5d2f8d3 100644
--- a/lisp/org-capture.el
+++ b/lisp/org-capture.el
@@ -313,6 +313,12 @@ The remember buffer is still current when this hook runs."
   :group 'org-capture
   :type 'hook)
 
+(defcustom org-capture-after-finalize-hook nil
+  "Hook that is run right after a capture process is finalized.
+  Suitable for window cleanup"
+  :group 'org-capture
+  :type 'hook)
+
 ;;; The property list for keeping information about the capture process
 
 (defvar org-capture-plist nil
@@ -548,6 +554,8 @@ bypassed."
 
       ;; Restore the window configuration before capture
       (set-window-configuration return-wconf))
+
+    (run-hooks 'org-capture-after-finalize-hook)
     (when abort-note
       (cond
        ((equal abort-note 'clean)
-- 
1.7.0.4

_______________________________________________
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode

Reply via email to