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.
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
what-line command to see the line number relative to the whole
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 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
display-time-mode. The information added to the mode
line looks like this:
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
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
nil; then all mode
lines are displayed in the
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.