Skip to content

Instantly share code, notes, and snippets.

@purefunctor
Last active December 24, 2020 16:55
Show Gist options
  • Save purefunctor/560fc7e637d0533d5124380765aecc62 to your computer and use it in GitHub Desktop.
Save purefunctor/560fc7e637d0533d5124380765aecc62 to your computer and use it in GitHub Desktop.
Doom Emacs bodge for zsh/oh-my-zsh and emacs-libvterm
;; Terrible code, I know
;; Reference: https://github.com/akermu/emacs-libvterm/issues/24
(after! vterm (progn (defun vterm--kill-vterm-buffer-and-window (process _)
"Kill buffer and window on vterm process termination."
(when (not (process-live-p process))
(let ((buf (process-buffer process)))
(when (buffer-live-p buf)
(with-current-buffer buf
(kill-buffer)
(ignore-errors (delete-window))
(message "VTerm closed."))))))
(add-hook 'vterm-mode-hook
(lambda () (set-process-sentinel (get-buffer-process (buffer-name))
#'vterm--kill-vterm-buffer-and-window)))
(defun +vterm/open-new-window ()
(interactive)
(evil-window-new 10 "")
(evil-window-move-very-bottom)
(+vterm/here "")
(evil-window-set-height 10))
(map! :leader "o t" #'+vterm/open-new-window)))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment