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

2007–11–20

仕事中に約束の時間をうっかり過ぎないように、携帯電話でアラームを鳴らすようにしたり、 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を登録しておけば、ファイル保存時にアラームを登録してくれる。