From f809a8ec7bccb7f1fab05499342c5cad3ec55bd4 Mon Sep 17 00:00:00 2001 From: Tim McCarthy Date: Wed, 9 Sep 2026 13:49:13 -0700 Subject: [PATCH] Eshell fixes --- emacs/init.el | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/emacs/init.el b/emacs/init.el index e4dccac..0b0a661 100644 --- a/emacs/init.el +++ b/emacs/init.el @@ -553,11 +553,15 @@ EMACS-ALTERNATIVE is the Emacs equivalent (e.g., 'C-s')." "eshell-popup\\*$")) (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))) (if (with-current-buffer buffer - (derived-mode-p 'eshell-mode)) - (/ (frame-height (window-frame window)) 2) + ;; Eshell displays a new buffer before enabling `eshell-mode'. + (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)))) (setq popper-window-height #'my/popper-window-height) @@ -1005,7 +1009,7 @@ the new eshell window is selected." (beginning-of-line) (= (point) orig)))) (progn - (kill-this-buffer) + (kill-current-buffer) (when (not (one-window-p)) (delete-window))) (delete-char 1)))