Skip to content

Commit a98c8f5

Browse files
committed
Improve new-frame logic of windmove-display-in-direction (bug#39875)
* lisp/windmove.el (windmove-display-in-direction): For frame-based logic use code similar to display-buffer-pop-up-frame.
1 parent 199acd6 commit a98c8f5

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

lisp/windmove.el

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -475,10 +475,14 @@ When `switch-to-buffer-obey-display-actions' is non-nil,
475475
(setq type 'tab)
476476
(selected-window))
477477
((eq dir 'new-frame)
478-
(window--maybe-raise-frame
479-
(make-frame-on-current-monitor pop-up-frame-alist))
480-
(setq type 'frame)
481-
(selected-window))
478+
(let* ((params (cdr (assq 'pop-up-frame-parameters alist)))
479+
(pop-up-frame-alist (append params pop-up-frame-alist))
480+
(frame (make-frame-on-current-monitor
481+
pop-up-frame-alist)))
482+
(unless (cdr (assq 'inhibit-switch-frame alist))
483+
(window--maybe-raise-frame frame))
484+
(setq type 'frame)
485+
(frame-selected-window frame)))
482486
((eq dir 'same-window)
483487
(selected-window))
484488
(t (window-in-direction

0 commit comments

Comments
 (0)