summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2022-07-05 19:33:56 +0200
committerMartin Polden <mpolden@mpolden.no>2022-07-05 19:33:56 +0200
commitacd61b0e004a7b543cda7a016f99ae1bf9a328fb (patch)
tree78bf45943bb75362f83bf681d40b02a3a845e2a8
parentc6e74228997eb4c9e4191bd5fabc0f8613c819f1 (diff)
theme, vterm: use symbol for current theme
-rw-r--r--lisp/init-theme.el10
-rw-r--r--lisp/init-vterm.el18
2 files changed, 17 insertions, 11 deletions
diff --git a/lisp/init-theme.el b/lisp/init-theme.el
index 82d54c0..1232f64 100644
--- a/lisp/init-theme.el
+++ b/lisp/init-theme.el
@@ -18,11 +18,11 @@
(call-interactively 'load-theme))))
(defun mpolden/current-theme ()
- "Return current theme, which is either \"light\" or \"dark\"."
+ "Return current theme, which is either 'light or 'dark."
(cond
- ((memq mpolden/theme-light custom-enabled-themes) "light")
- ((memq mpolden/theme-dark custom-enabled-themes) "dark")
- (t (error "Failed to detect light theme. Enabled themes: %s"
+ ((memq mpolden/theme-light custom-enabled-themes) 'light)
+ ((memq mpolden/theme-dark custom-enabled-themes) 'dark)
+ (t (error "Failed to detect current theme. Enabled themes: %s"
custom-enabled-themes))))
(defun mpolden/toggle-theme ()
@@ -30,7 +30,7 @@
The variables `mpolden/theme-light' and `mpolden/theme-dark'
decides the themes to toggle between."
(interactive)
- (let* ((is-light (equal (mpolden/current-theme) "light"))
+ (let* ((is-light (eq (mpolden/current-theme) 'light))
(new-theme (if is-light mpolden/theme-dark mpolden/theme-light))
(new-vterm-theme (if is-light "dark" "light")))
(mpolden/switch-theme new-theme)
diff --git a/lisp/init-vterm.el b/lisp/init-vterm.el
index f0ebc55..47b0ca6 100644
--- a/lisp/init-vterm.el
+++ b/lisp/init-vterm.el
@@ -2,17 +2,23 @@
;;; Commentary:
;;; Code:
+(defun mpolden/theme-env-var (theme)
+ "Return the environment variable setting given THEME."
+ (concat "VTERM_THEME=" (if (symbolp theme)
+ (symbol-name theme)
+ theme)))
+
(defun mpolden/vterm-change-theme (theme)
"Change the theme in all Vterm buffers to THEME."
- (mapcar (lambda (buf)
- (with-current-buffer buf
- (vterm-send-string (concat "export VTERM_THEME=" theme "\n"))))
- (seq-filter (lambda (buf) (string-prefix-p "vterm: " (buffer-name buf)))
- (buffer-list))))
+ (let ((export-cmd (concat "export " (mpolden/theme-env-var theme) "\n")))
+ (mapcar (lambda (buf) (with-current-buffer buf
+ (vterm-send-string export-cmd)))
+ (seq-filter (lambda (buf) (string-prefix-p "vterm: " (buffer-name buf)))
+ (buffer-list)))))
(defun mpolden/vterm-set-theme (theme)
"Set the default Vterm theme to THEME."
- (let ((new-var (concat "VTERM_THEME=" theme)))
+ (let ((new-var (mpolden/theme-env-var theme)))
(setq vterm-environment
(seq-filter (lambda (var)
(unless (string-prefix-p "VTERM_THEME=" var)))