Variable: mode-line-invisible-mode
mode-line-invisible-mode is a buffer-local variable defined in
simple.el.gz.
Documentation
Non-nil if Mode-Line-Invisible mode is enabled.
Use the command mode-line-invisible-mode(var)/mode-line-invisible-mode(fun) to change this variable.
Probably introduced at or before Emacs version 31.1.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/simple.el.gz
(define-minor-mode mode-line-invisible-mode
"Toggle the mode-line visibility of the current buffer.
Hide the mode line if it is shown, and show it if it's hidden."
:global nil
:group 'mode-line
(if mode-line-invisible-mode
(progn
(add-hook 'after-change-major-mode-hook #'mode-line-invisible-mode nil t)
(setq mode-line-invisible--buf-state
(buffer-local-set-state mode-line-format nil)))
(remove-hook 'after-change-major-mode-hook #'mode-line-invisible-mode t)
;; Restore buffer mode line if buffer had one by default
(when mode-line-invisible--buf-state
(setq mode-line-invisible--buf-state
(buffer-local-restore-state mode-line-invisible--buf-state)))
;; Otherwise display one
(unless mode-line-format
(setq-local mode-line-format (default-value 'mode-line-format)))
;; Update mode line
(when (called-interactively-p 'any)
(force-mode-line-update))))