diff options
Diffstat (limited to 'lisp/init-vterm.el')
-rw-r--r-- | lisp/init-vterm.el | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/lisp/init-vterm.el b/lisp/init-vterm.el index 84e6f26..8a7d63f 100644 --- a/lisp/init-vterm.el +++ b/lisp/init-vterm.el @@ -2,11 +2,33 @@ ;;; Commentary: ;;; Code: +(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)))) + +(defun mpolden/vterm-set-theme (theme) + "Set the default Vterm theme to THEME." + (let ((theme-var (concat "VTERM_THEME=" theme))) + (progn + (setq vterm-environment + (seq-filter (lambda (var) + (unless (string-prefix-p "VTERM_THEME=" var))) + vterm-environment)) + (add-to-list 'vterm-environment theme-var t)))) + (use-package vterm :ensure t :init ;; include current directory in buffer name - (setq vterm-buffer-name-string "vterm: %s")) + (setq vterm-buffer-name-string "vterm: %s") + :config + ;; set theme + (when (fboundp 'mpolden/current-theme) + (mpolden/vterm-set-theme (mpolden/current-theme)))) (provide 'init-vterm) |