14.18 Optional Mode Line Features
The buffer percentage pos
indicates the percentage of the buffer above the top of the window. You can additionally display the size of the buffer by typing M-x size-indication-mode
to turn on Size Indication mode. The size will be displayed immediately following the buffer percentage like this:
pos of size
Here size
is the human readable representation of the number of characters in the buffer, which means that βk
β for 10^3, βM
β for 10^6, βG
β for 10^9, etc., are used to abbreviate.
The current line number of point appears in the mode line when Line Number mode is enabled. Use the command M-x line-number-mode
to turn this mode on and off; normally it is on. The line number appears after the buffer percentage pos
, with the letter βL
β to indicate what it is.
Similarly, you can display the current column number by turning on Column Number mode with M-x column-number-mode
. The column number is indicated by the letter βC
β. However, when both of these modes are enabled, the line and column numbers are displayed in parentheses, the line number first, rather than with βL
β and βC
β. For example: β(561,2)
β. See Minor Modes, for more information about minor modes and about how to use these commands.
In Column Number mode, the displayed column number counts from zero starting at the left margin of the window. If you would prefer for the displayed column number to count from one, you may set column-number-indicator-zero-based
to nil
.
If you have narrowed the buffer (see Narrowing), the displayed line number is relative to the accessible portion of the buffer. Thus, it isnβt suitable as an argument to goto-line
. (Use what-line
command to see the line number relative to the whole file.)
If the buffer is very large (larger than the value of line-number-display-limit
), Emacs wonβt compute the line number, because that would be too slow; therefore, the line number wonβt appear on the mode-line. To remove this limit, set line-number-display-limit
to nil
.
Line-number computation can also be slow if the lines in the buffer are too long. For this reason, Emacs doesnβt display line numbers if the average width, in characters, of lines near point is larger than the value of line-number-display-limit-width
. The default value is 200 characters.
Emacs can optionally display the time and system load in all mode lines. To enable this feature, type M-x display-time
or customize the option display-time-mode
. The information added to the mode line looks like this:
hh:mmPM l.ll
Here hh
and mm
are the hour and minute, followed always by βAM
β or βPM
β. l.ll
is the average number, collected for the last few minutes, of processes in the whole system that were either running or ready to run (i.e., were waiting for an available processor). (Some fields may be missing if your operating system cannot support them.) If you prefer time display in 24-hour format, set the variable display-time-24hr-format
to t
.
The word βMail
β appears after the load level if there is mail for you that you have not read yet. On graphical displays, you can use an icon instead of βMail
β by customizing display-time-use-mail-icon
; this may save some space on the mode line. You can customize display-time-mail-face
to make the mail indicator prominent. Use display-time-mail-file
to specify the mail file to check, or set display-time-mail-directory
to specify the directory to check for incoming mail (any nonempty regular file in the directory is considered to be newly arrived mail).
When running Emacs on a laptop computer, you can display the battery charge on the mode-line, by using the command display-battery-mode
or customizing the variable display-battery-mode
. The variable battery-mode-line-format
determines the way the battery charge is displayed; the exact mode-line message depends on the operating system, and it usually shows the current battery charge as a percentage of the total charge.
On graphical displays, the mode line is drawn as a 3D box. If you donβt like this effect, you can disable it by customizing the mode-line
face and setting its box
attribute to nil
. See Face Customization.
By default, the mode line of nonselected windows is displayed in a different face, called mode-line-inactive
. Only the selected window is displayed in the mode-line
face. This helps show which window is selected. When the minibuffer is selected, since it has no mode line, the window from which you activated the minibuffer has its mode line displayed using mode-line
; as a result, ordinary entry to the minibuffer does not change any mode lines.
You can disable use of mode-line-inactive
by setting variable mode-line-in-non-selected-windows
to nil
; then all mode lines are displayed in the mode-line
face.
You can customize the mode line display for each of the end-of-line formats by setting each of the variables eol-mnemonic-unix
, eol-mnemonic-dos
, eol-mnemonic-mac
, and eol-mnemonic-undecided
to the strings you prefer.