summaryrefslogtreecommitdiff
path: root/emacs
diff options
context:
space:
mode:
authorKjetil Orbekk <kj@orbekk.com>2023-02-01 19:42:22 -0500
committerKjetil Orbekk <kj@orbekk.com>2023-02-01 19:42:22 -0500
commit24499261f559737ded2f659e715910c7d25c631d (patch)
tree3e2c1a6c7c9cabf725d614c9c353d4563ef39048 /emacs
parentf4231088e2692e430dca22aa097025e19f447f79 (diff)
Tweak popup for tall windows
Diffstat (limited to 'emacs')
-rw-r--r--emacs/.config/emacs-kj/init.el22
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)
))