Add doom/switch-theme; a more sensible load-theme
load-theme doesn't disable previously enabled themes before switching. doom/switch-theme does. This remaps any keys bound to load-theme to doom/switch-theme.
This commit is contained in:
parent
3b4fd56cac
commit
43e0314e86
2 changed files with 24 additions and 3 deletions
|
@ -103,3 +103,20 @@ presentations."
|
|||
(mapc #'disable-theme custom-enabled-themes))
|
||||
(doom|init-theme)
|
||||
(doom|init-fonts)))
|
||||
|
||||
;;;###autoload
|
||||
(defun doom/switch-theme (theme)
|
||||
"Like `load-theme', but will unload currently loaded themes before switching
|
||||
to a new one."
|
||||
(interactive
|
||||
(list (completing-read
|
||||
"Load theme: "
|
||||
(mapcar #'symbol-name
|
||||
(custom-available-themes)))))
|
||||
(condition-case nil
|
||||
(progn
|
||||
(mapc #'disable-theme custom-enabled-themes)
|
||||
(load-theme (intern theme) t)
|
||||
(when (fboundp 'powerline-reset)
|
||||
(powerline-reset)))
|
||||
(error "Problem loading theme %s" x)))
|
||||
|
|
|
@ -540,14 +540,18 @@ frame's window-system, the theme will be reloaded.")
|
|||
(setq frame-title-format '("%b – Doom Emacs"))
|
||||
;; draw me like one of your French editors
|
||||
(tooltip-mode -1) ; relegate tooltips to echo area only
|
||||
;; prompts the user for confirmation when deleting a non-empty frame
|
||||
(define-key global-map [remap delete-frame] #'doom/delete-frame)
|
||||
|
||||
;; a good indicator that Emacs isn't frozen
|
||||
(add-hook 'doom-init-ui-hook #'blink-cursor-mode)
|
||||
;; line numbers in most modes
|
||||
(add-hook! (prog-mode text-mode conf-mode) #'doom|enable-line-numbers)
|
||||
|
||||
;; More sensibile replacements for default commands
|
||||
(define-key! 'global
|
||||
;; prompts the user for confirmation when deleting a non-empty frame
|
||||
[remap delete-frame] #'doom/delete-frame
|
||||
;; a more sensible load-theme, that disables previous themes first
|
||||
[remap load-theme] #'doom/switch-theme)
|
||||
|
||||
(defun doom*fix-whitespace-mode-in-childframes (orig-fn &rest args)
|
||||
(let ((frame (apply orig-fn args)))
|
||||
(with-selected-frame frame
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue