From cfe2fe87d9159e33c202420f23ec3e5fd6b81800 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Wed, 14 Mar 2018 18:26:58 -0400 Subject: [PATCH] Reduce screen flicker when creating a new frame ...by only reloading the theme if the new frame is of a different type from the last (tty and GUI frames). --- core/core-ui.el | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/core/core-ui.el b/core/core-ui.el index 1f3bbbe9b..14dc67585 100644 --- a/core/core-ui.el +++ b/core/core-ui.el @@ -417,6 +417,8 @@ character that looks like a space that `whitespace-mode' won't affect.") ;; Theme & font ;; +(defvar doom-last-frame-type window-system) + (defun doom|init-theme () "Set the theme and load the font, in that order." (when doom-theme @@ -459,7 +461,9 @@ character that looks like a space that `whitespace-mode' won't affect.") ;; frames, however. There's always `doom//reload-theme' if you need it! (defun doom|init-theme-in-frame (frame) "Reloads the theme in new daemon or tty frames." - (when (or (daemonp) (not (display-graphic-p))) + (when (and (not (eq doom-last-frame-type window-system)) + (or (daemonp) (not (display-graphic-p)))) + (setq doom-last-frame-type window-system) (with-selected-frame frame (doom|init-theme))))