diff options
author | Kjetil Orbekk <kj@orbekk.com> | 2023-02-01 19:42:22 -0500 |
---|---|---|
committer | Kjetil Orbekk <kj@orbekk.com> | 2023-02-01 19:42:22 -0500 |
commit | 24499261f559737ded2f659e715910c7d25c631d (patch) | |
tree | 3e2c1a6c7c9cabf725d614c9c353d4563ef39048 /emacs | |
parent | f4231088e2692e430dca22aa097025e19f447f79 (diff) |
Tweak popup for tall windows
Diffstat (limited to 'emacs')
-rw-r--r-- | emacs/.config/emacs-kj/init.el | 22 |
1 files changed, 16 insertions, 6 deletions
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) )) |