Eshell fixes

This commit is contained in:
tim.mccarthy committed 2026-09-09 13:49:13 -07:00
1 parent 8865197b2f
commit f809a8ec7b
1 file changed
+8 -4
+8 -4
View File
@@ -553,11 +553,15 @@ EMACS-ALTERNATIVE is the Emacs equivalent (e.g., 'C-s')."
"eshell-popup\\*$")) "eshell-popup\\*$"))
(defun my/popper-window-height (window) (defun my/popper-window-height (window)
"Make eshell popups take half the frame height, otherwise defer to popper--fit-window-height" "Resize eshell popups to half the frame height; fit other popups."
(let ((buffer (window-buffer window))) (let ((buffer (window-buffer window)))
(if (with-current-buffer buffer (if (with-current-buffer buffer
(derived-mode-p 'eshell-mode)) ;; Eshell displays a new buffer before enabling `eshell-mode'.
(/ (frame-height (window-frame window)) 2) (or (derived-mode-p 'eshell-mode)
(string-match-p "eshell-popup\\*$" (buffer-name))))
;; A functional `window-height' action must resize the window.
(let ((height (/ (frame-height (window-frame window)) 2)))
(fit-window-to-buffer window height height))
(popper--fit-window-height window)))) (popper--fit-window-height window))))
(setq popper-window-height #'my/popper-window-height) (setq popper-window-height #'my/popper-window-height)
@@ -1005,7 +1009,7 @@ the new eshell window is selected."
(beginning-of-line) (beginning-of-line)
(= (point) orig)))) (= (point) orig))))
(progn (progn
(kill-this-buffer) (kill-current-buffer)
(when (not (one-window-p)) (when (not (one-window-p))
(delete-window))) (delete-window)))
(delete-char 1))) (delete-char 1)))