Reputation: 104
What I want:
What happens:
What I've tried:
(defmacro save-frame-excursion (&rest body)
"Eval BODY and return to the currently selected frame."
(let ((frame-var (gensym "FRAME")))
`(let ((,frame-var (selected-frame)))
(unwind-protect
(progn ,@body)
(select-frame-set-input-focus ,frame-var)))))
(defun org-babel-detangle-no-buffer-pop-up (orig-fun &rest args)
(save-window-excursion
(save-frame-excursion
(apply orig-fun args))))
(advice-add 'org-babel-detangle :around #'org-babel-detangle-no-buffer-pop-up)
Upvotes: 1
Views: 69
Reputation: 104
Found a solution. Turns out, display-buffer-alist '((".*" (display-buffer-no-window)))
doesn't work without an additional argument - (allow-no-window . t)
. This was very contrintuitive, and that threw me off.
Full working solution below:
(defun org-babel-detangle-no-buffer-pop-up (orig-fun &rest args)
(save-excursion
(let ((display-buffer-alist
'((".*" (display-buffer-no-window) (allow-no-window . t)))))
(apply orig-fun args))))
(advice-add 'org-babel-detangle :around #'org-babel-detangle-no-buffer-pop-up)
Upvotes: 2