残念ながら、カレンダーの表示が3ヶ月であるのを変更することはできませんが、変数calendar-left-margin
、calendar-day-header-width
、calendar-day-digit-width
、calendar-column-width
、calendar-intermonth-spacing
をカスタマイズすることにより、使用される空白文字をカスタマイズすることはできます。各月の間に、たとえば週の番号を表示するには、変数calendar-intermonth-header
とcalendar-intermonth-text
を、変数のドキュメントに記載されているようにカスタマイズします。
変数calendar-month-header
は、カレンダーの各月の上に表示されるテキストを制御します。デフォルトでは月と年を表示します。変数calendar-day-header-array
は、各月の各曜日の上に表示されるテキストを制御します。デフォルトでは、各曜日の名前の最初の2文字を表示します。
変数calendar-holiday-marker
は、休日をどのようにマークするか指定します。この変数は、日付の隣に挿入する1文字の文字列か、その日付を表示するのに使用するフェイス名です。同様に、変数diary-entry-marker
は、ダイアリーエントリーをもつ日を、どのようにマークするか指定します。関数calendar-mark-today
は、今日の日付をマークするのにcalendar-today-marker
を使用します。デフォルトでは、この目的のためにカレンダーはholiday
、diary
、calendar-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
を実行します。