created display-buffer-in-side-window wrapper function
The old display-buffer-alist thing did not work like I expected it to, so we removed it. Instead of trying to update display-buffer-alist when the screen resizes via a hook, we just create our own display function that can be used in display-buffer-alist directly. The function takes a "which-side" property in the alist, the property holds a function that returns which side the new buffer will snap to when invoked. The display function then creates a new alist with the side property and any other properties were passed in, and calls display-buffer-in-side-window with the new alist. This allows us to use this function as if it were display-buffer-in-side-window, but with an extra property to decide which side the window snaps to each time the function is invoked. This is useful if you want side windows to snap to different parts of the screen based on the current size of the frame, or anything else.master
parent
a9b93ae544
commit
d314fe16f7
@ -1,6 +0,0 @@
|
|||||||
(defvar config-display-buffer-gaps-width 20)
|
|
||||||
|
|
||||||
(defun config-display-buffer-which-side ()
|
|
||||||
(if (> (+ (frame-pixel-width) config-display-buffer-gaps-width) (/ (x-display-pixel-width) 2))
|
|
||||||
'right
|
|
||||||
'bottom))
|
|
@ -0,0 +1,7 @@
|
|||||||
|
(defun config-display-buffer-frame-wide-p ()
|
||||||
|
(> (frame-pixel-width) (/ (x-display-pixel-width) 2)))
|
||||||
|
|
||||||
|
(defun config-display-buffer-best-side (buffer alist)
|
||||||
|
(let* ((side (funcall (alist-get 'which-side alist)))
|
||||||
|
(alist (append (cdr alist) (list (cons 'side side)))))
|
||||||
|
(display-buffer-in-side-window buffer alist)))
|
@ -1,5 +1,5 @@
|
|||||||
(setq display-buffer-base-action '(display-buffer-same-window display-buffer-reuse-window))
|
(setq display-buffer-base-action '(display-buffer-same-window display-buffer-reuse-window))
|
||||||
|
|
||||||
(load "config-display-buffer-alist")
|
(load "config-display-buffer-best-side")
|
||||||
|
|
||||||
(provide 'config-display-buffer)
|
(provide 'config-display-buffer)
|
||||||
|
Loading…
Reference in New Issue