From 24499261f559737ded2f659e715910c7d25c631d Mon Sep 17 00:00:00 2001 From: Kjetil Orbekk Date: Wed, 1 Feb 2023 19:42:22 -0500 Subject: Tweak popup for tall windows --- emacs/.config/emacs-kj/init.el | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) (limited to 'emacs') diff --git a/emacs/.config/emacs-kj/init.el b/emacs/.config/emacs-kj/init.el index 314d280..41ed048 100644 --- a/emacs/.config/emacs-kj/init.el +++ b/emacs/.config/emacs-kj/init.el @@ -750,7 +750,7 @@ ;;; Window placement ;;; TODO: Test popper.el. (global-set-key (kbd "C-`") #'window-toggle-side-windows) -(setq window-sides-slots '(0 0 2 0)) ; 2 right side windows +(setq window-sides-slots '(0 0 2 2)) ; 2 right side windows (setq switch-to-buffer-obey-display-actions t) (setq switch-to-buffer-in-dedicated-window 'pop) ;; Prevent pop-up buffers from using new windows. @@ -774,18 +774,28 @@ comint-mode fig-commit-mode))) )) + (setq transient-display-buffer-action - '((side . right) - display-buffer-in-side-window + '(display-buffer-in-best-side (slot . 1) (inhibit-same-window . t) (window-parameters (no-other-window . t)))) +(defun display-buffer-in-best-side (buffer alist) + (display-buffer-in-side-window + buffer + (append (if (> (frame-width) 160) + '((side . right) + (window-width . 80)) + '((side . bottom) + (window-height . 0.5))) + '((window-width . 80) + (window-height . 0.5)) + alist))) + (add-to-list 'display-buffer-alist `(kj/popup-buffer - (display-buffer-in-side-window) - (side . right) + (display-buffer-in-best-side) (slot . 0) - (window-width . 80) )) -- cgit v1.2.3