[Orgmode] org-mode and Gnus integration

From:

Alain Picard

Subject:

[Orgmode] org-mode and Gnus integration

Date:

Sun, 13 May 2007 23:02:36 +1000

User-agent:

Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux)

Hello all.
I've started trying to use the GTD methodology, and have found
org-mode absolutely terrific for this purpose. However I still
couln't get my mail to work just right (I use Gnus for mail).
What I'm really missing is a way to add "labels", or "tags" to
mail messages, so that I can then narrow the mail buffers to only
those messages matching a tag (e.g. TODO, NEXT, WAITING, etc).
Then I discovered the linking facility; in particular how org-mode
can link directly to a gnus post, so I figured, since I keep my
TODOs in an org file anyhow, I might as well keep the list of
messages requiring actions in there as well, in the form of links.
The following little hack allows to me to file, with 1 keystroke
(I use ">" for "send to the todo list") as a link into my org file.
To use this, you need an entry somewhere in your
file (called *org-email-todo-list-buffer*) which will
match *org-email-todo-tree-header*.
I don't know if anyone else will find this useful, or already
has a better way of handling this sort of thing (I haven't found
it yet, and I did look).
Ideally, I'd like to be able to maybe select different types of
tags directly when entering (e.g. maybe "C-u 1 >" --> WAITING
"C-u 2 >" --> NEXT etc) but I haven't implemented that yet.
I visit my todo file so often it's not a huge burder to just
reclassify all the TODOs rapidly in one go.
Any comments will be welcome.
snippet below.
================================================================
(defvar *org-email-todo-tree-header* "* Email TODOS")
(defvar *org-email-todo-list-buffer* "~/org/work.org")
(defun org-insert-email-as-current-todo ()
(interactive)
(let ((link (org-store-link nil)))
(save-window-excursion
(find-file *org-email-todo-list-buffer*)
(goto-char (point-min))
(let ((point (re-search-forward *org-email-todo-tree-header* (point-max)
nil)))
(org-end-of-subtree t)
(insert "\n** TODO -- ")
(insert link))))
(message "Saved."))
(define-key gnus-summary-mode-map ">" 'org-insert-email-as-current-todo)
================================================================
--
Please read about why Top Posting
is evil at: http://en.wikipedia.org/wiki/Top-posting
and http://www.dickalba.demon.co.uk/usenet/guide/faq_topp.html
Please read about why HTML in email is evil at:
http://www.birdhouse.org/etc/evilmail.html