Refactor doom-hide-modeline-mode

This commit is contained in:
Henrik Lissner 2018-02-16 19:36:32 -05:00
parent 62dc472dfe
commit 2b43dd42e2
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395

View file

@ -79,7 +79,7 @@ with `doom//reload-theme').")
;; A minor mode for hiding the mode-line ;; A minor mode for hiding the mode-line
;; ;;
(defvar-local doom--modeline-format nil (defvar doom--modeline-format nil
"The modeline format to use when `doom-hide-modeline-mode' is active. Don't "The modeline format to use when `doom-hide-modeline-mode' is active. Don't
set this directly. Let-bind it instead.") set this directly. Let-bind it instead.")
@ -91,18 +91,16 @@ disabled.")
"Minor mode to hide the mode-line in the current buffer." "Minor mode to hide the mode-line in the current buffer."
:init-value nil :init-value nil
:global nil :global nil
(cond (doom-hide-modeline-mode (if doom-hide-modeline-mode
(progn
(add-hook 'after-change-major-mode-hook #'doom|hide-modeline-mode-reset nil t) (add-hook 'after-change-major-mode-hook #'doom|hide-modeline-mode-reset nil t)
(setq mode-line-format (or doom--old-modeline-format doom--modeline-format) (setq doom--old-modeline-format mode-line-format
doom--old-modeline-format nil)) mode-line-format doom--modeline-format))
(t
(remove-hook 'after-change-major-mode-hook #'doom|hide-modeline-mode-reset t) (remove-hook 'after-change-major-mode-hook #'doom|hide-modeline-mode-reset t)
(setq mode-line-format doom--old-modeline-format (setq mode-line-format doom--old-modeline-format))
doom--old-modeline-format nil)))
(force-mode-line-update)) (force-mode-line-update))
;; Ensure major-mode or theme changes don't overwrite these variables ;; Ensure major-mode or theme changes don't overwrite these variables
(put 'doom--modeline-format 'permanent-local t)
(put 'doom--old-modeline-format 'permanent-local t) (put 'doom--old-modeline-format 'permanent-local t)
(put 'doom-hide-modeline-mode 'permanent-local t) (put 'doom-hide-modeline-mode 'permanent-local t)
(put 'doom-hide-modeline-mode 'permanent-local-hook t) (put 'doom-hide-modeline-mode 'permanent-local-hook t)