The Emacs ModeLine is configurable, offering special modes and functions that change its functionality.
Display of some standard information in the mode line is governed by these minor modes (each toggle on and off):
‘display-time-mode’– Enable the display of the current time, see DisplayTime
‘line-number-mode’– Enable or disable the display of the current line number, see also LineNumbers
‘column-number-mode’– Enable or disable the display of the current column number
‘size-indication-mode’(for Emacs 22 and up) – Enable or disable the current buffer size, Emacs 22 and later, see size-indication-mode
‘display-battery-mode’– Enable or disable laptop battery information, see DisplayBatteryMode.
Here are particular enhancements to the mode line:
Customize the mode line by altering the
‘mode-line-format’ variable. The
‘header-line-format’ variable customizes the HeaderLine.
The mode line is buffer-specific, meaning that the same buffer has the same mode line in different windows.
The mode line may be hidden for a specific buffer by changing
The mode line normally looks something like this:
-u:**-F1 *scratch* All L12 (Lisp Interaction)-------%-
which may be cryptic to new users, so to make it like this:
Lisp Interaction: buffer *scratch*, line 5 -- user: alice
(setq mode-line-format (list ;; value of `mode-name' "%m: " ;; value of current buffer name "buffer %b, " ;; value of current line number "line %l " "-- user: " ;; value of user (getenv "USER")))
‘nil’are ignored as is any symbol whose value is void.
See also  in the Emacs Lisp Reference Manual