summaryrefslogtreecommitdiffstats
path: root/lisp/init-vterm.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/init-vterm.el')
-rw-r--r--lisp/init-vterm.el24
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)