diff options
author | Martin Polden <mpolden@mpolden.no> | 2022-06-23 16:13:05 +0200 |
---|---|---|
committer | Martin Polden <mpolden@mpolden.no> | 2022-06-23 16:13:05 +0200 |
commit | 5c373b350505a60597afb78c4ff5f3827b0d3d66 (patch) | |
tree | 43c02a8ba88c000078fb8d1cd02c2f8b8196de17 /lisp/init-theme.el | |
parent | efba8f1deba52ab513c36bb0a819e8de855d5805 (diff) |
theme: notify vterm when theme changes
Diffstat (limited to 'lisp/init-theme.el')
-rw-r--r-- | lisp/init-theme.el | 20 |
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 |