greg...@dynapse.com (Gregory J. Grubbs) writes: > Bernt, I have been happily using your phone call templates and the BBDB > integration. The one thing that was bugging me was when someone calls > who is not in my BBDB database (quite a high percentage, since I don't > make much use of BBDB). I wanted the prompt to let me quickly enter any > name, and fill in the BBDB content if it was there. > > My revamped template looks like this: > --8<---------------cut here---------------start------------->8--- > (setq my-phone-remember-templates > (quote ( > ;; ... client templates deleted ... > ("phone call" ?p "* Phone Call - %(gjg/bbdb-name) - > %(gjg/bbdb-company) %T\n :CLOCK-IN:+ %?%&" "~/projects/notes.org" "Phone > Calls")))) > --8<---------------cut here---------------end--------------->8--- > > Rather than using the variables for BBDB, I am using custom functions to > return name and company; those will return values from the BBDB record > if it was found, otherwise the name function returns what I entered > at the prompt, and the company function returns the empty string. > > --8<---------------cut here---------------start------------->8--- > (defvar gjg/remember-phone-record nil > "Either BBDB record vector, or person's name as a string, or nil") > > (defun my-phone-call () > (interactive) > (let* ((org-remember-templates my-phone-remember-templates) > (myname (completing-read "Who is calling: " (bbdb-hashtable) > 'bbdb-completion-predicate 'confirm)) > (my-bbdb-name (if (> (length myname) 0) myname nil))) > (setq gjg/remember-phone-record > (or (first (bbdb-search (bbdb-records) my-bbdb-name nil nil)) > myname)) > (other-window 1) > (org-remember))) > > (defun gjg/bbdb-name () > "Return full name of saved bbdb record, or empty string - for use in > Remember templates" > (if (and gjg/remember-phone-record (vectorp gjg/remember-phone-record)) > (bbdb-record-name gjg/remember-phone-record) > (or gjg/remember-phone-record ""))) > > (defun gjg/bbdb-company () > "Return company of saved bbdb record, or empty string - for use in Remember > templates" > (if (and gjg/remember-phone-record (vectorp gjg/remember-phone-record)) > (bbdb-record-company gjg/remember-phone-record) > "")) > --8<---------------cut here---------------end--------------->8---
Hi Gregory, Thanks very much for sharing this. This looks like a nice improvement to me. Thanks for sharing your setup! Regards, Bernt _______________________________________________ Emacs-orgmode mailing list Remember: use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode