doom-modeline: refresh bar on frame-creation

Thanking phil.catalyst from #emacs for suggesting this fix!

This should make it so modules on the right-hand side of the modeline doesn't
cut itself off. Usually, an Emacs server started won't have a GUI, so
doom-modeline doesn't actually know its width. Refreshing doom-modeline when
a new frame is created will make it aware of its width from (re)initialisation.
This commit is contained in:
Artur Manuel 2025-04-15 05:47:12 +01:00
commit 5d02a9c26a
Signed by: amadaluzia
SSH key fingerprint: SHA256:ubvwT66gNUKSsgSzEb2UQnX8pzTq5N+r8eRVYGJJm4Q

View file

@ -2,12 +2,19 @@
(defun config-init-ui () (defun config-init-ui ()
(defun my/doom-modeline-for-new-frames (&optional frame)
(setq doom-modeline-height (+ (frame-char-height) 8))
(with-selected-frame (or frame (selected-frame))
(doom-modeline-refresh-bars)))
(use-package doom-modeline (use-package doom-modeline
:defer t :defer t
:commands (doom-modeline-mode) :commands (doom-modeline-mode)
:custom :custom
(doom-modeline-mode t) (doom-modeline-mode t)
(doom-modeline-env-load-string "")) (doom-modeline-env-load-string "")
(doom-modeline-height (+ (frame-char-height) 8))
:hook (after-make-frame-functions . my/doom-modeline-for-new-frames))
(use-package base16-theme (use-package base16-theme
:config :config