Refactor how solaire-mode is activated

Otherwise we are swapping bg faces even if the user removes
solaire-global-mode from doom-load-theme-hook.
This commit is contained in:
Henrik Lissner 2020-04-24 18:47:10 -04:00
parent 635d070e94
commit 71e23fb250
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395

View file

@ -24,14 +24,7 @@
(use-package! solaire-mode
:when (or (daemonp) (display-graphic-p))
:defer t
:init
(add-hook! 'doom-load-theme-hook :append
(defun +doom-solaire-swap-bg-faces-maybe-h ()
(when (string-prefix-p "doom-" (symbol-name doom-theme))
(require 'solaire-mode)
(solaire-mode-swap-bg)))
#'solaire-global-mode)
:hook (doom-load-theme . solaire-global-mode)
:config
(when (daemonp)
(add-hook! 'doom-switch-frame-hook
@ -40,6 +33,12 @@
(solaire-global-mode +1)
(solaire-global-mode -1)))))
(add-hook! 'solaire-global-mode-hook
(defun +doom-solaire-swap-bg-faces-maybe-h ()
(and solaire-global-mode
(string-prefix-p "doom-" (symbol-name doom-theme))
(solaire-mode-swap-bg))))
;; org-capture takes an org buffer and narrows it. The result is erroneously
;; considered an unreal buffer, so solaire-mode must be restored.
(add-hook 'org-capture-mode-hook #'turn-on-solaire-mode)