Next: , Up: Advanced Calendar/Diary Usage   [Contents][Index]


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

残念ながら、カレンダーの表示が3ヶ月であるのを変更することはできませんが、変数calendar-left-margincalendar-day-header-widthcalendar-day-digit-widthcalendar-column-widthcalendar-intermonth-spacingをカスタマイズすることにより、使用される空白文字をカスタマイズすることはできます。各月の間に、たとえば週の番号を表示するには、変数calendar-intermonth-headercalendar-intermonth-textを、変数のドキュメントに記載されているようにカスタマイズします。

変数calendar-month-headerは、カレンダーの各月の上に表示されるテキストを制御します。デフォルトでは月と年を表示します。変数calendar-day-header-arrayは、各月の各曜日の上に表示されるテキストを制御します。デフォルトでは、各曜日の名前の最初の2文字を表示します。

変数calendar-holiday-markerは、休日をどのようにマークするか指定します。この変数は、日付の隣に挿入する1文字の文字列か、その日付を表示するのに使用するフェイス名です。同様に、変数diary-entry-markerは、ダイアリーエントリーをもつ日を、どのようにマークするか指定します。関数calendar-mark-todayは、今日の日付をマークするのにcalendar-today-markerを使用します。デフォルトでは、この目的のためにカレンダーはholidaydiarycalendar-todayという名前のフェイスを使います。

カレンダーの開始により、ノーマルフックcalendar-initial-window-hookが実行されます。カレンダー表示の再計算では、このフックは実行されません。しかしqでカレンダーを離れ、再度カレンダーに入ると、このフックが再び実行されます。

変数calendar-today-visible-hookは、カレンダーバッファーがカレンダーのために準備された後、カレント日付がウィンドウで表示されるときに実行されるノーマルフックです。このフックの用途の1つは、今日の日付のマークです。これを行なうには、関数calendar-mark-todayまたはcalendar-star-dateを使います:

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

同様のノーマルフックcalendar-today-invisible-hookは、カレント日付がウィンドウに表示されなくなるとき実行されます。

カレンダーのカーソル移動コマンドは、カーソルを移動した後に、フックcalendar-move-hookを実行します。