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


22.4.4 モードラインで使用される変数

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

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列になるようスペースパディングされたバッファー名を表示する。

Variable: mode-line-position

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

Variable: vc-mode

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

Variable: 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: mode-line-front-space

この変数はモードラインの一番前に表示される。memory-fullメッセージがある場合を除き、デフォルトではこの構文はモードライン先頭の右側に表示される。

Variable: mode-line-end-spaces

この変数はモードラインの終端に表示される。

Variable: mode-line-misc-info

その他の情報にたいするモードライン構文。デフォルトではglobal-mode-stringで指定される情報を表示する。

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))
 "-%-")