残念ながらカレンダーの表示は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
は、カレンダーバッファがカレンダーで準備され、ウィンドウに現在の日付が表示されている際に実行される通常のフックです。このフックの用途の一つに、本日の日付をマークすることがあります。そのためには、関数
calendar-mark-today または calendar-star-date のいずれかを使用してください:
(add-hook 'calendar-today-visible-hook 'calendar-mark-today)
同様の通常フック calendar-today-invisible-hook
は、現在の日付がウィンドウ内で表示されていない場合に実行されます。
各カレンダーカーソル移動コマンドは、カーソルを移動させた後にフック calendar-move-hook を実行します。