Next: %-Constructs, Previous: Mode Line Top, Up: Mode Line Format [Contents][Index]
This section describes variables incorporated by the standard value of
mode-line-format
into the text of the mode line. There is
nothing inherently special about these variables; any other variables
could have the same effects on the mode line if the value of
mode-line-format
is changed to use them. However, various parts
of Emacs set these variables on the understanding that they will control
parts of the mode line; therefore, practically speaking, it is essential
for the mode line to use them.
This variable holds the value of the mode line construct that displays information about the language environment, buffer coding system, and current input method. See Non-ASCII Characters.
This variable holds the value of the mode line construct that displays whether the current buffer is modified. Its default value displays ‘**’ if the buffer is modified, ‘--’ if the buffer is not modified, ‘%%’ if the buffer is read only, and ‘%*’ if the buffer is read only and modified.
Changing this variable does not force an update of the mode line.
This variable identifies the current frame. Its default value
displays " "
if you are using a window system which can show
multiple frames, or "-%F "
on an ordinary terminal which shows
only one frame at a time.
This variable identifies the buffer being displayed in the window. Its default value displays the buffer name, padded with spaces to at least 12 columns.
This variable indicates the position in the buffer. Its default value displays the buffer percentage and, optionally, the buffer size, the line number and the column number.
The variable vc-mode
, buffer-local in each buffer, records
whether the buffer’s visited file is maintained with version control,
and, if so, which kind. Its value is a string that appears in the mode
line, or nil
for no version control.
This variable displays the buffer’s major and minor modes. Its default value also displays the recursive editing level, information on the process status, and whether narrowing is in effect.
This variable is used to show whether default-directory
for the
current buffer is remote.
This variable is used to identify emacsclient
frames.
The following three variables are used in mode-line-modes
:
This buffer-local variable holds the “pretty” name of the current
buffer’s major mode. Each major mode should set this variable so that
the mode name will appear in the mode line. The value does not have
to be a string, but can use any of the data types valid in a mode-line
construct (see Mode Line Data). To compute the string that will
identify the mode name in the mode line, use format-mode-line
(see Emulating Mode Line).
This buffer-local variable contains the mode line information on process
status in modes used for communicating with subprocesses. It is
displayed immediately following the major mode name, with no intervening
space. For example, its value in the *shell* buffer is
(":%s")
, which allows the shell to display its status along
with the major mode as: ‘(Shell:run)’. Normally this variable
is nil
.
This variable holds an association list whose elements specify how the
mode line should indicate that a minor mode is active. Each element of
the minor-mode-alist
should be a two-element list:
(minor-mode-variable mode-line-string)
More generally, mode-line-string can be any mode line construct.
It appears in the mode line when the value of minor-mode-variable
is non-nil
, and not otherwise. These strings should begin with
spaces so that they don’t run together. Conventionally, the
minor-mode-variable for a specific mode is set to a non-nil
value when that minor mode is activated.
minor-mode-alist
itself is not buffer-local. Each variable
mentioned in the alist should be buffer-local if its minor mode can be
enabled separately in each buffer.
This variable holds a mode line construct that, by default, appears in
the mode line just after the which-func-mode
minor mode if set,
else after mode-line-modes
. The command display-time
sets
global-mode-string
to refer to the variable
display-time-string
, which holds a string containing the time and
load information.
The ‘%M’ construct substitutes the value of
global-mode-string
, but that is obsolete, since the variable is
included in the mode line from mode-line-format
.
Here is a simplified version of the default value of
mode-line-format
. The real default value also
specifies addition of text properties.
("-" 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)) "-%-")
Next: %-Constructs, Previous: Mode Line Top, Up: Mode Line Format [Contents][Index]