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


22.4.3 The Top Level of Mode Line Control

変数mode-line-formatは、モードラインの全体的な制御を行います。

User Option: mode-line-format

この変数の値は、モードラインのコンテンツを制御するモードライン構成である。これは、すべてのバッファーにおいて、常にバッファーローカルである。

あるバッファー内でこの変数にnilをセットした場合、そのバッファーはモードラインをもたない(高さが1行しかないウィンドウも、モードラインを表示しない)。

mode-line-formatのデフォルト値は、mode-line-positionmode-line-modes(これはmode-nameminor-mode-alistの値を組み込む)のような、他の変数の値を使用するようデザインされています。mode-line-format自体を変更する必要があるモードは、ほとんどありません。ほとんどの用途にたいしては、mode-line-formatが直接、または間接的に参照する、いくつかの変数を修正すれば十分です。

mode-line-formatl自体の変更を行った場合、新たな値は他の様式でコンテンツを複製したり情報を表示するのではなく、デフォルト値(Mode Line Variablesを参照)に現れるのと同じ変数を使用するべきです。この方法を使用すれば、ユーザーや(display-timeやメジャーモードのような)Lispプログラムにより行われたカスタマイズは、それらの変数への変更を通じて、効力を保ちます。

以下は、Shellモードにたいして有用かもしれない、架空のmode-line-formatの例です(実際には、Shellモードはmode-line-formatをセットしない):

(setq mode-line-format
  (list "-"
   'mode-line-mule-info
   'mode-line-modified
   'mode-line-frame-identification
   "%b--"
   ;; これはリスト作成中に評価されることに注意。
   ;; これは単なる文字列のモードライン構成を作成する。
   (getenv "HOST")
   ":"
   'default-directory
   "   "
   'global-mode-string
   "   %[("
   '(:eval (mode-line-mode-name))
   'mode-line-process
   'minor-mode-alist
   "%n"
   ")%]--"
   '(which-func-mode ("" which-func-format "--"))
   '(line-number-mode "L%l--")
   '(column-number-mode "C%c--")
   '(-3 "%p")))

(変数line-number-modecolumn-number-modewhich-func-modeは特定のマイナーモードを有効にする。通例どおり、これらの変数名は、マイナーモードコマンド名でもある。)