emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Carsten Dominik <dominik@science.uva.nl>
To: Bernt Hansen <bernt@norang.ca>
Cc: emacs-orgmode@gnu.org
Subject: Re: Handling phone calls
Date: Sun, 10 Feb 2008 08:42:19 +0100	[thread overview]
Message-ID: <51206E31-5147-4F66-9CCF-E0C24AFEB949@science.uva.nl> (raw)
In-Reply-To: <87tzkhoi45.fsf@gollum.intra.norang.ca>


[-- Attachment #1.1: Type: text/plain, Size: 5195 bytes --]

Excellent description, I just made an entry for this in the
new Org-mode FAQ in Worg: http://129.199.80.1/~guerry/worg/org-faq.html
The entry is not yet there as of Sunday, 8:39 CET, so we will now find  
out how
quickly Bastien will update the HTML version.

I think we should do more like this:  Put gmane pointers to
good writeups into the faq, or even directly convert these posts to org
and put them into a faq.  emacs-orgmode@gnu.org is becoming a  
knowledgebase.
This is a corner in parameter space where Worg can really shine:   
Whenever you see
a particularly useful post, head over to worg and greate a link to it.

- Carsten

On Feb 9, 2008, at 11:55 PM, Bernt Hansen wrote:

> Hi all,
>
> I spent some time today tuning my org setup for handling incoming  
> phone
> calls.  As a contractor I need to clock time spent talking to  
> customers
> for billing purposes.  I used to (before this morning) use tags for
> phone calls and I had a list of ONGOING tasks with :@phone: as a tag
> but this wasn't very convenient to use.
>
> Today I spent some time reviewing the remember documentation and I  
> came
> up with the following setup.  I thought I'd share it in case anyone  
> else
> finds it useful.
>
> ---
>
> I have multiple clients and one org file per client.  Here is a sample
> layout:
>
>  - todo.org        - my personal tasks
>  - client1.org     - tasks for client 1
>  - otherclient.org - tasks for client 2
>  - norang.org      - tasks for my company
>
> When I need to create a new task I have the following
> remember templates set up:
>
> ,----[ .emacs remember setup ]
> | (custom-set-variables
> |  '(org-remember-store-without-prompt t)
> |  '(org-remember-templates
> |    (quote (("todo" ?t "* TODO %?\n  %u" "~/org/todo.org" "Tasks")
> | 	   ("client1" ?c "* TODO %?\n  %u" "~/org/client1.org" "Tasks")
> | 	   ("otherclient" ?o "* TODO %?\n  %u" "~/org/otherclient.org"  
> "Tasks")
> | 	   ("norang" ?n "* TODO %?\n  %u" "~/org/norang.org" "Tasks"))))
> |  '(remember-annotation-functions (quote (org-remember-annotation)))
> |  '(remember-handler-functions (quote (org-remember-handler))))
> `----
>
> To create a new task I just hit C-M-r and enter the appropriate  
> template
> and fill in the task details.
>
> I set up a second set of templates for phone calls:
>
> ,----[ .emacs remember functions ]
> | (setq my-phone-remember-templates
> |       (quote (("client1" ?c "* Phone Call - %:name - %:company 
> \n  :CLOCK-IN:%?" "~/org/client1.org" "Tasks")
> | 	      ("otherclient" ?o "* Phone Call - %:name - %:company 
> \n  :CLOCK-IN:%?" "~/org/otherclient.org" "Tasks")
> | 	      ("norang" ?n "* Phone Call - %:name - %:company\n  :CLOCK- 
> IN:%?" "~/org/norang.org" "Tasks")
> | 	      ("phone call" ?p "* Phone Call - %? - \n  :CLOCK-IN:" "~/ 
> org/todo.org" "Tasks"))))
> |
> | (global-set-key (kbd "<f9> p") 'my-phone-call)
> |
> | (defun my-phone-call ()
> |   (interactive)
> |   (let ((org-remember-templates my-phone-remember-templates))
> |     (bbdb (read-string "Who is calling: ") nil)
> |     (other-window 1)
> |     (org-remember)))
> |
> | (add-hook 'remember-mode-hook 'my-start-clock-if-needed)
> | (defun my-start-clock-if-needed ()
> |   (save-excursion
> |     (goto-char (point-min))
> |     (when (re-search-forward ":CLOCK-IN:" nil t)
> |        (replace-match "")
> |        (org-clock-in))))
> |
> | (require 'remember)
> | (global-set-key (kbd "C-M-r") 'org-remember)
> | (add-hook 'remember-mode-hook 'org-remember-apply-template)
> `----
>
> Thanks Carsten for the my-start-clock-if-needed function which I stole
> off the org-mode mailing list :)
>
> ---
>
> So I'm happily clocking time on some task I'm working on and the phone
> rings...  I pick up the phone, find out who I'm talking to and type
> f9-p and enter a name at the prompt
>
> Who is calling: Joe User
>
> which looks up the person in my bbdb database and fills in the  
> remember
> template then I select the appropriate template for the client org  
> file
> I want to create the task in and it fills in something like this:
>
> ,----[ Remember buffer entry for phone calls ]
> | ## Filing location: Select interactively, default, or last used:
> | ##     C-u C-c C-c  to select file and header location  
> interactively.
> | ##         C-c C-c  "~/org/norang.org" -> "* Tasks"
> | ## C-u C-u C-c C-c  "~/org/client1.org" -> "* Tasks"
> | ## To switch templates, use `C-M-r'.  To abort use `C-c C-k'.
> |
> | * Phone Call - Joe User - Some Client Company
> |   CLOCK: [2008-02-09 Sat 17:36]
> |   <cursor is here, Start typing notes right away>
> `----
>
> When I'm done with the call C-c C-c stops the clock and files the task
> under * Tasks in whatever file I picked using the template above.
> C-u C-u C-M-r jumps to the task and I can refile it to the appropriate
> spot with C-c C-w.
>
> I'm sure this can be improved upon but it's already a lot better than
> what I had before.
>
> Happy organizing!
>
> -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


[-- Attachment #1.2: Type: text/html, Size: 6918 bytes --]

[-- Attachment #2: Type: text/plain, Size: 204 bytes --]

_______________________________________________
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

  reply	other threads:[~2008-02-10  7:42 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-02-09 22:55 Handling phone calls Bernt Hansen
2008-02-10  7:42 ` Carsten Dominik [this message]
2008-02-10 11:09   ` Bastien
2008-02-24  1:20 ` Nick Dokos
2009-11-13 19:11 ` Gregory J. Grubbs
2009-11-13 19:28   ` Bernt Hansen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=51206E31-5147-4F66-9CCF-E0C24AFEB949@science.uva.nl \
    --to=dominik@science.uva.nl \
    --cc=bernt@norang.ca \
    --cc=emacs-orgmode@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).