summaryrefslogtreecommitdiffstats
path: root/lisp/init-theme.el
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2022-06-23 16:13:05 +0200
committerMartin Polden <mpolden@mpolden.no>2022-06-23 16:13:05 +0200
commit5c373b350505a60597afb78c4ff5f3827b0d3d66 (patch)
tree43c02a8ba88c000078fb8d1cd02c2f8b8196de17 /lisp/init-theme.el
parentefba8f1deba52ab513c36bb0a819e8de855d5805 (diff)
theme: notify vterm when theme changes
Diffstat (limited to 'lisp/init-theme.el')
-rw-r--r--lisp/init-theme.el20
1 files changed, 15 insertions, 5 deletions
diff --git a/lisp/init-theme.el b/lisp/init-theme.el
index b13a7fb..87c1840 100644
--- a/lisp/init-theme.el
+++ b/lisp/init-theme.el
@@ -22,12 +22,22 @@
The variables `mpolden/theme-light' and `mpolden/theme-dark'
decides the themes to toggle between."
(interactive)
- (let ((is-light (memq mpolden/theme-light custom-enabled-themes) )
+ (let ((is-light (memq mpolden/theme-light custom-enabled-themes))
(is-dark (memq mpolden/theme-dark custom-enabled-themes)))
- (cond
- (is-light (mpolden/switch-theme mpolden/theme-dark))
- (is-dark (mpolden/switch-theme mpolden/theme-light))
- (t (message "Don't know how to toggle theme: %s" (car custom-enabled-themes))))))
+ (progn
+ (cond
+ (is-light (mpolden/switch-theme mpolden/theme-dark))
+ (is-dark (mpolden/switch-theme mpolden/theme-light))
+ (t (message "Don't know how to toggle theme: %s" (car custom-enabled-themes))))
+ (mpolden/vterm-send-theme (if is-light "dark" "light")))))
+
+(defun mpolden/vterm-send-theme (theme)
+ "Set 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))))
(use-package doom-themes
:ensure t