Верхний уровень управления строкой режима
Переменная, обеспечивающая общий контроль над строкой режима, — это mode-line-format.
- Пользовательский параметр: mode-line-format
-
Значение этой переменной представляет собой конструкцию строки режима, которая управляет содержимым строки режима. Она всегда локальна для буфера во всех буферах.
Если вы установите эту переменную в значение
nilв буфере, у этого буфера не будет строки режима. (Окно, которое имеет высоту всего в одну строку, также не отображает строку режима.)
Значение по умолчанию для mode-line-format разработано для использования значений других переменных, таких как mode-line-position и mode-line-modes (которые, в свою очередь, включают значения переменных mode-name и minor-mode-alist). Очень немногим режимам требуется изменять само значение mode-line-format. Для большинства целей достаточно изменить некоторые переменные, к которым mode-line-format обращается непосредственно или косвенно.
Если вы всё-таки измените mode-line-format само по себе, новое значение должно использовать те же переменные, что и в значении по умолчанию (см. Переменные строки режима), а не дублировать их содержимое или отображать информацию другим способом. Таким образом, кастомизации, внесённые пользователем или Lisp-программами (например, display-time и главными режимами) путём изменения этих переменных, остаются эффективными.
Вот гипотетический пример mode-line-format, который может быть полезен для режима Shell (на самом деле, режим Shell не устанавливает mode-line-format):
(setq mode-line-format (list "-" 'mode-line-mule-info 'mode-line-modified 'mode-line-frame-identification "%b--"
;; Note that this is evaluated while making the list. ;; It makes a mode line construct which is just a string. (getenv "HOST")
":"
'default-directory
" "
'global-mode-string
" %[("
'(:eval (format-time-string "%F"))
'mode-line-process
'minor-mode-alist
"%n"
")%]--"
'(which-function-mode ("" which-func-format "--"))
'(line-number-mode "L%l--")
'(column-number-mode "C%c--")
'(-3 "%p")))
(Переменные line-number-mode, column-number-mode и which-function-mode активируют определённые дополнительные режимы; как обычно, эти имена переменных также являются именами команд дополнительных режимов.)
Copyright © 1990-1996, 1998-2022 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Mode-Line-Top.html