Fix modeline growing incrementally on big font mode

Fixes #575
This commit is contained in:
Henrik Lissner 2018-06-02 21:40:57 +02:00
parent 1a1d74afa3
commit 4d2e1dd526
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395

View file

@ -1,15 +1,18 @@
;;; ui/doom-modeline/autoload.el -*- lexical-binding: t; -*-
(defvar +doom-modeline--old-bar-height nil)
;;;###autoload
(defun +doom-modeline|resize-for-big-font ()
"Adjust the modeline's height when `doom-big-font-mode' is enabled. This was
made to be added to `doom-big-font-mode-hook'."
(let ((default-height (default-value '+doom-modeline-height)))
(unless +doom-modeline--old-bar-height
(setq +doom-modeline--old-bar-height +doom-modeline-height))
(let ((default-height +doom-modeline--old-bar-height))
(if doom-big-font-mode
(let* ((font-size (font-get doom-font :size))
(big-size (font-get doom-big-font :size))
(ratio (/ (float big-size) font-size)))
(setq +doom-modeline-height (ceiling (* default-height ratio))))
(setq +doom-modeline-height (ceiling (* default-height ratio 0.75))))
(setq +doom-modeline-height default-height))
;; already has a variable watcher in Emacs 26+
(unless EMACS26+ (+doom-modeline|refresh-bars))))