org-modeとappt.elでアポイントメントを管理

仕事中に約束の時間をうっかり過ぎないように、携帯電話でアラームを鳴らすようにしたり、
PC上だと、ポップアップでアラームを表示してくれるようなソフトを使ってたけど、
org-modeの機能で実現できる事を知った。
これでついつい作業に没頭して、会議等の出席に遅れるようなミスを防ぐことが出来る。

org-modeとappt.elを連携させて実現している機能で、org-modeで書いたスケジュールと連動して指定時間前になると、
アラームがmode-lineやwindowに表示され非常に便利。

準備としてはorg-modeでファイルを開いて(大抵は拡張子が.orgならorg-modeになる)、
agendaファイルとして登録する(キーバインドはC-[)。
次に.emacsの設定は以下のとおりにしておけば、起動時にagendaファイルからアラームを登録してくれる。
; apptをwindow表示
(setq appt-display-format 'window)
; appt message 表示秒数
(setq appt-display-duration 30)
; beep音をならす
(setq appt-audible t)
; appt message 何分前にアラームを上げるか
(setq appt-message-warning-time 14)
; mode line に apptまでの分を表示
(setq appt-display-mode-line t)
(appt-activate 1)
(org-agenda-to-appt)


; 保存時にorg-agenda-to-apptを実行
(add-hook 'org-mode-hook
	  (lambda() (add-hook 'before-save-hook
			      'org-agenda-to-appt t)))

上記の設定で、例えば下記のような内容がある場合
** 定時ダッシュ
   SCHEDULED: <2007-11-19 月 18:00>
17時46分から、mode-lineとwindowでアラームを表示してくれる。

スケジュールを追加後には手動で M-x org-agenda-to-appt とすれば、
随時agendaファイルからアラームを登録できるし、
上記のようにhookを登録しておけば、ファイル保存時にアラームを登録してくれる。

Comment