Don't redraw when hiding modeline (causes artifacting)

Also make doom-hide-mode-line-mode permanent, so it doesn't reset
when the major mode changes or on kill-local-vars.
This commit is contained in:
Henrik Lissner 2016-06-06 19:38:23 -04:00
parent 238bfc3712
commit 329d20a618

View file

@ -88,23 +88,20 @@
(sit-for eldoc-show-in-mode-line-delay)))) (sit-for eldoc-show-in-mode-line-delay))))
(force-mode-line-update))) (force-mode-line-update)))
(defvar-local doom-hide-mode-line nil) (put 'doom-hide-mode-line-mode 'permanent-local t)
(put 'doom--mode-line 'permanent-local t)
(defvar-local doom--mode-line nil) (defvar-local doom--mode-line nil)
;;;###autoload ;;;###autoload
(define-minor-mode doom-hide-mode-line-mode (define-minor-mode doom-hide-mode-line-mode
"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
:variable doom-hide-mode-line (if doom-hide-mode-line-mode
(if doom-hide-mode-line
(setq doom--mode-line mode-line-format (setq doom--mode-line mode-line-format
mode-line-format nil) mode-line-format nil)
(setq mode-line-format doom--mode-line (setq mode-line-format doom--mode-line
doom--mode-line nil)) doom--mode-line nil)))
(force-mode-line-update)
;; Apparently force-mode-line-update is not always enough to
;; redisplay the mode-line
(redraw-display))
(provide 'defuns-ui) (provide 'defuns-ui)
;;; defuns-ui.el ends here ;;; defuns-ui.el ends here