スケジュールの管理には、作成と参照があります。
Org-modeでのスケジュールの作成は、前回紹介した「Org-modeで、ライフログを録ろう」とさして違いはありません。ヘッドラインに、タイムスタンプを付けるだけです。
そして、スケジュールの参照には、Agenda viewを使う方法が一般的かと思います。
私も、これまで、Org-modeでスケジュールを管理してきました。しかし、日々の作業量に忙殺されて、スケジュールを忘れてしまうこともしばしばでした。
改善策を模索していたところ、「これだ!」と思えるものがありましたので、紹介します。
参考
この記事の作成にあたり、以下を参考とさせていただきました。
前提
「Org-modeで、ライフログを録ろう」に従って、Org-modeの環境が導入されていることを前提としています。
スケジュールの作成
まず、Org-modeでスケジュールを作成方法を紹介します。
1. スケジュールの作成
C-c c jとタイプして、スケジュールの作成を開始します。
ヘッドラインにスケジュールの内容を作成します。
2. タイムスタンプの作成
**C-u C-c .**とタイプして、タイムスタンプの作成モードに入ります。
以下に示すキー操作で、Calendarバッファの指定日付を移動させることができます。
| key | 移動 |
|---|---|
| S- < left > | 日付を1日前に移動する。 |
| S- < right > | 日付を1日後に移動する。 |
| S- < up > | 日付を1週間前に移動する。 |
| S- < down > | 日付を1週間前に移動する。 |
スケジュールの日付に移動したら、リターンキーを押下して、日付を確定させます。
次に、ヘッドラインに挿入された日付の時間部分にカーソールを移動させて、時間を上書きします。
また、終了時間が決まっているのであれば、以下の例を参考にして、レンジ指定します。
<2015-02-01 日 15:00-16:00>
後は、必要に応じて、スケジュールの補足情報を記事の部分に記載してください。
スケジュールの参照
Org-modeでは、C-c a aとタイプすることで、スケジュールを確認することができます。
一歩進んだスケジュール管理
1日のスケジュールを1度確認したら忘れない人は、上記だけで問題ないのですが、私は物忘れが激しいので、そうも行きません。
そんな私でも、スケジュールの直前に画面通知の気づきを与えてもらえれば、少しは改善が期待できそうです。
それでは、Org-modeのスケジュールを画面通知できるようにしてみましょう。
準備
1. パッケージの追加
画面通知には、notify-sendコマンドを使用します。
notify-sendコマンドがインストールされていない場合は、以下のコマンドを実行してください。
$ sudo apt-get install libnotify-bin
2. $HOME/.emacs
$HOME/.emacsに以下のコードを追加してください。
コードの詳細は、コメントを参照してください。
;; The setting for appointment
; Org-modeのスケジュール管理に、カレンダーのアポイントメントを使用する。
; カレンダーのアポイントメントを使用することで、ユーザは、スケジュール
; の開始前に、通知を受けることが出来るようになる。
;
; アポイントメントを動作させるための各種設定
(setq
appt-display-format 'window
appt-display-mode-line t
)
(appt-activate 1)
(display-time)
; notify-sendコマンドのラッパ関数
(defun notify-wrapper (min-to-app new-time msg)
"notify-sendコマンドのラッパ関数。
画面上にスケジュールの通知を行なう。
もし、ユーザがXウインドシステムを使用していない場合、
スケジュールは、Emacsのミニバッファ内に表示する。"
(interactive)
(let
((title (format "予定まで%s分" min-to-app))
(notify-icon "/usr/share/icons/gnome/32x32/status/appointment-soon.png"))
(if (eq window-system 'x)
(shell-command (concat "notify-send"
" -i " notify-icon
" '" title "'"
" '" msg "'"))
(message (concat title ": " msg)))))
; appointmentの表示に、notify-wrapperを使用する
(setq appt-disp-window-function (function notify-wrapper))
; Agenda viewを参照する都度、Org-modeのスケジュールをアポ
; イントメントに変換する。
(add-hook 'org-finalize-agenda-hook 'org-agenda-to-appt)
使用方法
以下の手順を実行することで、Org-modeのスケジュールの画面通知を有効となります。
-
Emacsを起動
-
新規スケジュールの追加
追加するスケジュールがなければ、スキップしてください。
-
スケジュールの参照
C-c a aをタイプし、Agenda viewバッファを参照する。
ex.画面通知の例
以下の例では、Agenda viewを参照していますが、一度、Agenda viewを参照した後は、どのバッファで作業していても、画面通知されるようになります。

使用上の注意事項
-
新規スケジュールを追加する場合は、"使用方法"の手順2と3を繰り返してください。
Agenda viewによるスケジュールの参照が、カレンダーのアポイントメントの変換のキックになっています。
-
Emacsは終了しないでください。
画面通知は、スケジュール参照を実行したEmacsが起動している間のみ有効です。
次回は、上記課題の解決方法を検討したいと思います。



