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


22.4.4 Variables Used in the Mode Line

このセクションでは、mode-line-formatの標準的な値として、モードラインテキストに組み込まれる変数を説明します。これらの変数は、本質的には特別なものではありません。mode-line-formatが使用する変数を他の変数に変更すれば、それらはモードライン上で同様の効果をもちます。しかし、Emacsのさまざまな部分は、それらの変数がモードラインを制御するという認識の元、それらの変数をセットします。したがって、事実上モードラインがそれらの変数を使用するのは必須なのです。

Variable: mode-line-mule-info

この変数は、言語環境(language environment)、バッファーコーディングシステム、カレント入力メソッド(current input method)に関する情報のモードライン構成の値を保持する。Non-ASCII Charactersを参照のこと。

Variable: mode-line-modified

この変数は、カレントバッファーが変更されたかどうかを表示する、モードライン構成の値を保持する。デフォルト値ではバッファーが変更されていれば‘**’、バッファーが変更されていなければ‘--’、バッファーが読み取り専用なら‘%%’、読み取り専用だが変更されているときは‘%*’を表示する。

この変数を変更しても、モードラインは強制的に更新されない。

Variable: mode-line-frame-identification

この変数は、カレントフレームを識別する。デフォルト値では、複製フレームを表示可能なウィンドウシステムを使用している場合は" "、一度に1つのフレームだけを表示する通常の端末では"-%F "を表示する。

Variable: mode-line-buffer-identification

この変数は、そのウィンドウ内で表示されているバッファーを識別する。デフォルト値では、少なくとも12列になるようスペースパディングされたバッファー名を表示する。

User Option: mode-line-position

この変数は、バッファー内での位置を標示する。デフォルト値ではバッファーのパーセントを表示し、オプションでバッファーサイズ、行番号、列番号を表示する。

Variable: vc-mode

変数vc-modeは、各バッファーにたいしてバッファーローカルであり、そのバッファーがvisitしているファイルがバージョンコントロールで保守されているかどうかと、保守されている場合はバージョンコントロールシステムの種別を表示する。新しいモードラインに表示される文字列、バージョンコントロールされていない場合はnilである。

User Option: mode-line-modes

この変数は、そのバッファーのメジャーモードとマイナーモードを表示する。デフォルト値では再帰編集レベル(recursive editing level)、プロセス状態の情報、ナローイング(narrowing)効果の有無を表示する。

Variable: mode-line-remote

この変数は、カレントバッファーにたいするdefault-directoryがリモートかどうかを表示するために使用される。

Variable: mode-line-client

この変数は、emacsclientフレームを識別するために使用される。

以下の3つの変数は、mode-line-modes内で使用されます:

Variable: mode-name

このバッファーローカル変数は、カレントバッファーのメジャーモードの“愛称(pretty name)”を保持する。モード名がモードラインに表示されるように、それぞれのメジャーモードは、この変数をセットすべきである。値は文字列である必要はなく、モードライン構成内で有効な任意のデータ型(Mode Line Dataを参照)を使用できる。モードライン内でモード名を識別する文字列の計算には、format-mode-lineを使用する(Emulating Mode Lineを参照)。

Variable: mode-line-process

このバッファーローカル変数には、そのモードにおいて、サブプロセスとの通信にたいするプロセス状態のモードライン情報が含まれる。これはメジャーモード名の直後(間のスペースはない)に表示される。たとえば、*shell*バッファーでの値は(":%s")であり、これは‘(Shell:run)’のように、メジャーモードとともにその状態を表示する。通常、この変数はnilである。

Variable: minor-mode-alist

この変数は、マイナーモードがアクティブかをモードラインに示す方法を指定する要素をもつ、連想リスト(association list)を保持する。minor-mode-alistの各要素は、2要素のリストであること:

(minor-mode-variable mode-line-string)

より一般的には、mode-line-stringは任意のモードライン構成であり得る。minor-mode-variableの値が非nilの場合はモードラインに表示され、それ以外では表示されない。一緒に実行されないよう、これらの文字列はスペースで始まるべきである。慣例的に、特定のモードにたいするminor-mode-variableは、そのマイナーモードがアクティブになった際には、非nil値にセットされる。

minor-mode-alist自体はバッファーローカルではない。このalist内で参照される各変数は、そのマイナーモードをバッファーごとに個別に有効にできる場合は、バッファーローカルであること。

Variable: global-mode-string

この変数は、モードライン内でマイナーモードwhich-func-modeがセットされている場合はその直後、セットされていなければmode-line-modesの後に表示されるモードライン構成を保持する(デフォルト)。コマンドdisplay-timeは、時間とロードの情報を含む文字列を保持する変数display-time-stringを参照する、global-mode-stringをセットする。

%M’構成は、global-mode-stringの値を置き換えるが、この変数はmode-line-formatからモードラインにincludeされるので、時代遅れである。

以下は、mode-line-formatのデフォルト値の簡略化バージョンです。実際のデフォルト値には、追加のテキストプロパティ指定も含まれます。

("-"
 mode-line-mule-info
 mode-line-modified
 mode-line-frame-identification
 mode-line-buffer-identification
 "   "
 mode-line-position
 (vc-mode vc-mode)
 "   "
 mode-line-modes
 (which-func-mode ("" which-func-format "--"))
 (global-mode-string ("--" global-mode-string))
 "-%-")