mirror of
https://github.com/protesilaos/dotfiles.git
synced 2026-09-10 07:16:20 -04:00
emacs: refine Magit display-buffer-alist with prot-window-display-new
This commit is contained in:
parent
6d6dc50588
commit
e14bfda473
|
|
@ -143,7 +143,8 @@
|
|||
(display-buffer-reuse-mode-window display-buffer-same-window))
|
||||
((or . ((derived-mode . magit-diff-mode)
|
||||
(derived-mode . magit-log-mode)))
|
||||
(prot-window-display-other-or-current))
|
||||
(display-buffer-reuse-mode-window prot-window-display-new display-buffer-pop-up-window)
|
||||
(inhibit-switch-frame . t))
|
||||
;; other `tab-bar-mode' tab
|
||||
((derived-mode . magit-status-mode)
|
||||
(display-buffer-reuse-mode-window display-buffer-in-tab)
|
||||
|
|
|
|||
|
|
@ -6704,7 +6704,8 @@ to a certain height.
|
|||
(display-buffer-reuse-mode-window display-buffer-same-window))
|
||||
((or . ((derived-mode . magit-diff-mode)
|
||||
(derived-mode . magit-log-mode)))
|
||||
(prot-window-display-other-or-current))
|
||||
(display-buffer-reuse-mode-window prot-window-display-new display-buffer-pop-up-window)
|
||||
(inhibit-switch-frame . t))
|
||||
;; other `tab-bar-mode' tab
|
||||
((derived-mode . magit-status-mode)
|
||||
(display-buffer-reuse-mode-window display-buffer-in-tab)
|
||||
|
|
@ -19208,6 +19209,14 @@ This as the action function in a `display-buffer-alist' entry."
|
|||
(when (apply fn args)
|
||||
(throw 'success fn))))))
|
||||
|
||||
(defun prot-window-display-new (buffer alist)
|
||||
"Display buffer in a new window if possible."
|
||||
(when-let* ((root (frame-root-window))
|
||||
(window (ignore-errors
|
||||
(or (split-window-horizontally nil root)
|
||||
(split-window-below nil root)))))
|
||||
(window--display-buffer buffer window 'window alist)))
|
||||
|
||||
(defun prot-window-display-other-or-current (&rest args)
|
||||
"Display buffer in the current or other window.
|
||||
Use the other window if only one window is present."
|
||||
|
|
|
|||
|
|
@ -96,6 +96,14 @@ This as the action function in a `display-buffer-alist' entry."
|
|||
(when (apply fn args)
|
||||
(throw 'success fn))))))
|
||||
|
||||
(defun prot-window-display-new (buffer alist)
|
||||
"Display buffer in a new window if possible."
|
||||
(when-let* ((root (frame-root-window))
|
||||
(window (ignore-errors
|
||||
(or (split-window-horizontally nil root)
|
||||
(split-window-below nil root)))))
|
||||
(window--display-buffer buffer window 'window alist)))
|
||||
|
||||
(defun prot-window-display-other-or-current (&rest args)
|
||||
"Display buffer in the current or other window.
|
||||
Use the other window if only one window is present."
|
||||
|
|
|
|||
Loading…
Reference in a new issue