Add better popper + vterm integration when closing shells

This commit is contained in:
Joseph Ferano 2022-08-25 15:14:36 +07:00
parent 005d48b1c3
commit f6a6c8513b

View File

@ -335,7 +335,7 @@ The theme of `C-x 4` bindings is that they operate on other windows, so this fun
(if (> (window-width) 170) (if (> (window-width) 170)
joe/popper-side-toggle joe/popper-side-toggle
'below)) 'below))
;; TODO Consider adding checks for vertical splits and only popup on right if so
(defun joe/popper-display-func (buffer &optional _alist) (defun joe/popper-display-func (buffer &optional _alist)
(display-buffer-in-direction (display-buffer-in-direction
buffer buffer
@ -496,8 +496,23 @@ Vertico Embark Marginalia Consult Orderless
(setq vterm-timer-delay 0.01) (setq vterm-timer-delay 0.01)
(setq vterm-buffer-name-string "VTerm - %s") (setq vterm-buffer-name-string "VTerm - %s")
(setq vterm-max-scrollback 100000) (setq vterm-max-scrollback 100000)
(setq vterm-kill-buffer-on-exit t)
(defun joe/close-popup-buffer (vterm-buf event-msg)
(unless (or (eq popper-popup-status nil)
(eq popper-popup-status 'raised))
(popper-close-latest)))
(setq vterm-exit-functions '(joe/close-popup-buffer))
(defun joe/vterm-here ()
(interactive)
(let ((vterm-buf (vterm--internal #'switch-to-buffer)))
(with-current-buffer vterm-buf
(setq popper-popup-status 'raised))))
(global-set-key (kbd "C-c t") #'vterm) (global-set-key (kbd "C-c t") #'vterm)
(global-set-key (kbd "C-c T") #'joe/vterm-here)
(add-hook 'vterm-mode-hook (lambda () (setq-local global-hl-line-mode nil))) (add-hook 'vterm-mode-hook (lambda () (setq-local global-hl-line-mode nil)))
#+end_src #+end_src