Next: , Up: Mode Line Format   [Contents][Index]


23.4.1 モードラインの基礎

各モードラインのコンテンツはバッファーローカル変数mode-line-formatにより指定されます(Mode Line Topを参照)。この変数はモードライン構文(mode line construct)を保持します。これはバッファーのモードラインに何を表示するかを制御するテンプレートです。header-line-formatの値は同じ方法によりバッファーのヘッダーラインを指定します。同一のバッファーにたいするすべてのウィンドウは、mode-line-formatheader-line-formatのパラメーター(Window Parametersを参照)がそのウィンドウに指定されていなければ、同じmode-line-formatheader-line-formatを使用します。

効率的な理由によりEmacsは各ウィンドウのモードラインとヘッダーラインを連続で再評価しません。たとえばウィンドウ設定(window configuration)の変更やバッファーの切り替え、バッファーのナローイング(narrowing)やワイドニング(widening)、スクロールやバッファーの変更等、それを呼び出す状況が出現したときにEmacsは再評価を行います。mode-line-formatheader-line-format(Mode Line Variablesを参照)により参照されるすべての変数、またはテキストが表示される方法に影響を与えるデータ構造(Displayを参照)を変更する場合には、表示を更新するために関数force-mode-line-updateを使用するべきです。

Function: force-mode-line-update &optional all

この関数は次の再表示サイクルの間にすべての関連する変数の最新の値にもとづいて、カレントバッファーのモードラインとヘッダーラインの更新をEmacsに強制する。オプション引数allが非nilなら、すべてのモードラインとヘッダーラインの更新を強制する。

この関数はメニューバーとフレームタイトルの更新も強制する。

選択されたウィンドウのモードラインは、通常はフェイスmode-lineを使用して異なるカラーで表示されます。かわりに他のウィンドウのモードラインはフェイスmode-line-inactiveで表示されます。Facesを参照してください。