Next: , Previous: Calendar, Up: Calendar


39.1 カレンダーのカスタマイズ

変数view-diary-entries-initiallytを設定しておくと、 カレンダーを呼び出すと現在の日に対する日誌記録を自動的に表示できます。 その日がウィンドウで見える場合に限って日誌記録が表示されます。 つぎの行、

     (setq view-diary-entries-initially t)
     (calendar)

を個人のファイル.emacsに入れておくと、 Emacsを起動するたびに、カレンダーと日誌の両者のウィンドウを表示します。

同様に、変数view-calendar-holidays-initiallytを設定しておくと、 カレンダーに入ると自動的に3か月分の祝祭日一覧を表示します。 祝祭日一覧は別のウィンドウに現れます。

変数mark-diary-entries-in-calendartを設定すると、 日誌に入れてある日付に印を付けられます。 カレンダーのウィンドウ内容を再計算するときにこの効果が現れます。 これらの日付に印を付ける方法は2つあります。 ディスプレイで使えるならばフェイス(see Faces)を変更するか、 日付にプラス記号(‘+’)を付加します。

同様に、変数mark-holidays-in-calendartを設定すると、 フェイスを変えるかアスタリスク(‘*’)を付加することで 祝祭日に印を付けられます。

変数calendar-holiday-markerは、 祝祭日の日付にどのように印を付けるかを指定します。 その値は、日付に付加する文字か日付の表示に使うフェイス名です。 同様に、変数diary-entry-markerは、 日誌に入っている日付にどのように印を付けるかを指定します。 カレンダー(calendar)モードは、このような目的のために holiday-facediary-faceという名前のフェイスを作成します。 Emacsが端末で複数のフェイスを扱える場合には、 これらの変数のデフォルト値はこれらのシンボルです。

変数calendar-load-hookは、 (カレンダーを実際に表示し始めるまえに)カレンダーパッケージを初めて ロードしたときに実行されるノーマルフックです。

カレンダーを開始するとノーマルフックinitial-calendar-window-hookを 実行します。 カレンダーの表示を再計算してもこのフックは実行されません。 しかし、コマンドqでカレンダーを抜けてから再度カレンダーに入ると このフックを再度実行します。

変数today-visible-calendar-hookは、 今日の日付がウィンドウで見えるときに カレンダーバッファにカレンダーの準備を終えてから実行される ノーマルフックです。 このフックの1つの用途は、今日の日付をアスタリスクで置き換えることです。 それにはフック関数calendar-star-dateを使います。

     (add-hook 'today-visible-calendar-hook 'calendar-star-date)

他の標準的なフック関数は、フェイスを変更するかアスタリスクを付加することで 現在の日付に印を付けます。 つぎのように使います。

     (add-hook 'today-visible-calendar-hook 'calendar-mark-today)

変数calendar-today-markerは、 今日の日付の印の付け方を指定します。 その値は、日付に付加する文字か日付の表示に使うフェイス名です。 この目的のためにcalendar-today-faceという名前のフェイスがあります。 Emacsが端末で複数のフェイスを扱える場合には、 この変数のデフォルト値はこのシンボルです。

同様なノーマルフックtoday-invisible-calendar-hookは、 現在の日付がウィンドウで見えないときに実行されます。