commit f888051ac6eb1fc4c91d9c60a4e77768e079f9b6 parent b5669157dccbefbac4352d3616283bb08ed5fa63 Author: andsy10 <andsy1016@gmail.com> Date: Fri, 28 Aug 2026 16:58:05 +0800 Update popper-close-window-hack Diffstat:
| M | lisp/init-window.el | | | 14 | ++++++++++---- |
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/lisp/init-window.el b/lisp/init-window.el @@ -119,14 +119,20 @@ (popper-toggle-type) (delete-other-windows)) - (defun popper-close-window-hack (&rest _) + (defun popper-close-window-hack (&rest _args) "Close popper window via `C-g'." - ;; `C-g' can deactivate region (when (and (called-interactively-p 'interactive) (not (region-active-p)) popper-open-popup-alist) - (let ((window (caar popper-open-popup-alist))) - (when (window-live-p window) + (let ((window (caar popper-open-popup-alist)) + (buffer (cdar popper-open-popup-alist))) + (when (and (window-live-p window) + (buffer-live-p buffer) + (not (with-current-buffer buffer + (derived-mode-p 'eshell-mode + 'ghostel-mode + 'shell-mode + 'term-mode)))) (delete-window window))))) (advice-add #'keyboard-quit :before #'popper-close-window-hack)))