Commit Diff


commit - 8da7e6f05027e369a9b46b4dd170ece60949e031
commit + 1735cb8da1f041cdea14fb87940895f77e9f2f85
blob - c44d086abf551420253d123735095e0857effdf6
blob + 5942b07d7e7c0e28a388dd3149bf2ab794d2547f
--- lisp/setup-core.el
+++ lisp/setup-core.el
@@ -78,12 +78,13 @@ mirrored path as relative; its parent directories are 
         url-configuration-directory (mine-cache-subdir "url")
         eshell-directory-name (mine-cache-subdir "eshell"))
 
-(defvar mine-last-ef-theme nil
-  "Persist selected theme after restart.")
+(defvar mine-last-theme nil
+  "Theme name to load at startup, persisted after restart.")
 
-(add-to-list 'savehist-additional-variables 'mine-last-ef-theme)
+(add-to-list 'savehist-additional-variables 'mine-last-theme)
 
 (savehist-mode 1)
+
 (recentf-mode 1)
 
 (setopt auto-revert-avoid-polling t
blob - 84022405e07819d57e4ab241cbf907e4ad605c53
blob + 03e2d2ba5a9b01753d5b7995cb88b1c25a0bf489
--- lisp/setup-search.el
+++ lisp/setup-search.el
@@ -62,7 +62,6 @@ resume the last Ivy session; with two, start a plain S
     (swiper query)))
 
 (use-package swiper
-  :ensure t
   :after evil
   :config
   (keymap-set isearch-mode-map "M-i" #'mine-isearch-swiper)
blob - 43fc1a42a12af85a88cd1a872142216e4b24d7fe
blob + 1da24af77aa526d7ce665936e257de3455ea2508
--- lisp/setup-ui.el
+++ lisp/setup-ui.el
@@ -78,29 +78,39 @@
   (setopt x-underline-at-descent-line t))
 
 (defvar ef-themes-items)
+(defvar doric-themes-collection)
 
-(defun mine-ef-theme--record ()
+(defun mine-theme--record ()
   "Persist selected theme on restart."
   (when (display-graphic-p)
     (catch 'found
       (dolist (theme custom-enabled-themes)
-        (when (memq theme ef-themes-items)
-          (setq mine-last-ef-theme theme)
+        (when (or (memq theme ef-themes-items)
+                  (memq theme doric-themes-collection))
+          (setq mine-last-theme theme)
           (throw 'found t))))))
 
+(add-hook 'doric-themes-after-load-theme-hook #'mine-theme--record)
+
 (use-package doric-themes
-  :ensure t
   :unless (display-graphic-p)
   :demand t
   :config
-  (load-theme (if (eq system-type 'darwin) 'ef-maris-dark 'doric-walnut) t))
+  (load-theme (if (eq system-type 'darwin) 'ef-maris-dark 'ef-night) t)
+  ;; Inherit background and foreground from the terminal emulator.
+  (face-spec-set 'default '((t (:background unspecified
+                                            :foreground unspecified)))
+                 'face-override-spec))
 
 (use-package ef-themes
   :if (display-graphic-p)
   :demand t
   :config
-  (add-hook 'ef-themes-after-load-theme-hook #'mine-ef-theme--record)
-  (load-theme (or mine-last-ef-theme 'ef-winter) t))
+  (add-hook 'ef-themes-after-load-theme-hook #'mine-theme--record)
+  (load-theme (or (and mine-last-theme
+                       (require-theme mine-last-theme 'noerror))
+                  'ef-winter)
+              t))
 
 (setopt display-line-numbers-width 3)