diff --git a/init.el b/init.el index 6acf3d7..1964674 100644 --- a/init.el +++ b/init.el @@ -2867,7 +2867,13 @@ Note that this workaround is incomplete, as explained in this comment." ;; outside of Emacs. (add-hook 'eshell-mode-hook #'(lambda () - (setq-local completion-in-region-function #'completion--in-region))))) + (setq-local completion-in-region-function #'completion--in-region))) + + ;; Close window after eshell is gone, but only if there are other windows around + (advice-add 'eshell-life-is-too-much + :after #'(lambda () + (unless (= 1 (length (window-list (window-frame (selected-window))))) + (delete-window (selected-window))))))) (use-package em-prompt :commands (eshell-previous-prompt