Wanderlust の flag フォルダ
内部フォルダ 'flag を GTD の一環に活かせないか、という話。Inbox にメールを置いたままで、そのメールに対する action をはっきりさせてみる。フォルダモードで、それぞれの action に属するメールの数がわかるのも便利そう。もちろん、その action を完了したらフラグを消し、メールを適切なフォルダへ移す/捨てることが前提。
$ でつけられる important フラグはトグル式になっていて、再度 $ でフラグが消える。一方、自分で定義できるグローバルフラグは F でつけられるが、消すときは C-u F と prefix をつければよい。元々ある important に加えて、to-reply と waiting-for を定義した。他に要調査のようなものもいるかな。まあ、必要に応じて。
flag フォルダを常に見張っておくように
(setq wl-biff-check-folder-list '("%inbox" "%Junk" "'flag/important" "'flag/to-reply" "'flag/waiting-for"))
と設定した。変数 wl-summary-flag-alist も自分好みに。
さらに、Wanderlust ML のこのスレッドを参考に、フラグ入力時の補完が効くようにした。しかも、前からほしいと思っていた、flag フォルダから元記事に飛ぶ関数も一緒に見つかった。この関数を基に、ちょっと手を入れてこんなふうに。
(defun wl-summary-jump-to-referer-message () (interactive) (when (wl-summary-message-number) (if (equal (elmo-folder-type-internal wl-summary-buffer-elmo-folder) 'flag) (progn (let* ((referer (elmo-flag-folder-referrer wl-summary-buffer-elmo-folder (wl-summary-message-number))) (folder (if (> (length referer) 1) (completing-read (format "Jump to (%s): " (car (car referer))) referer nil t nil nil (car (car referer))) (car (car referer))))) (wl-summary-goto-folder-subr folder 'no-sync nil nil t) (wl-summary-jump-to-msg (cdr (assoc folder referer))))) (when (equal (elmo-folder-type wl-summary-last-visited-folder) 'internal) (wl-summary-goto-last-visited-folder))))) (define-key wl-summary-mode-map "=" 'wl-summary-jump-to-referer-message)
`=' で flag フォルダと元記事のあるフォルダを行き来する。本当はフォルダどうしではなく、記事どうしを行き来できるようにするつもりだったけど、Wanderlust のコードを読む時間がとれないのであきらめる。
Emacs を使っているかぎり、Mail.app 一本にはしぼれないなあ。