summaryrefslogtreecommitdiff
path: root/lisp/frame.el
diff options
context:
space:
mode:
authorGerd Moellmann <gerd@gnu.org>2001-08-10 13:47:18 +0000
committerGerd Moellmann <gerd@gnu.org>2001-08-10 13:47:18 +0000
commit030f453737bdf08035ebae69b6e1660d47c78f25 (patch)
tree89fb1b2d0e645a03a0ee549d0016b1eec71475a4 /lisp/frame.el
parent9d9fd4e88a1c30ea93a408a5f1350c427f63b96b (diff)
downloademacs-030f453737bdf08035ebae69b6e1660d47c78f25.tar.gz
(select-frame-set-input-focus): New function
extracted from other-frame. (other-frame): Use it. (next-multiframe-window, previous-multiframe-window): Use it.
Diffstat (limited to 'lisp/frame.el')
-rw-r--r--lisp/frame.el32
1 files changed, 19 insertions, 13 deletions
diff --git a/lisp/frame.el b/lisp/frame.el
index c888334aad4..6c7c16aa98d 100644
--- a/lisp/frame.el
+++ b/lisp/frame.el
@@ -506,14 +506,16 @@ is not considered (see `next-frame')."
(interactive)
(select-window (next-window (selected-window)
(> (minibuffer-depth) 0)
- t)))
+ t))
+ (select-frame-set-input-focus (selected-frame)))
(defun previous-multiframe-window ()
"Select the previous window, regardless of which frame it is on."
(interactive)
(select-window (previous-window (selected-window)
(> (minibuffer-depth) 0)
- t)))
+ t))
+ (select-frame-set-input-focus (selected-frame)))
(defun make-frame-on-display (display &optional parameters)
"Make a frame on display DISPLAY.
@@ -631,6 +633,20 @@ the user during startup."
:group 'frames
:version "20.3")
+(defun select-frame-set-input-focus (frame)
+ "Select FRAME, raise it, and set input focus, if possible."
+ (select-frame frame)
+ (raise-frame frame)
+ ;; Ensure, if possible, that frame gets input focus.
+ (when (eq window-system 'w32)
+ (w32-focus-frame frame))
+ (cond (focus-follows-mouse
+ (unless (eq window-system 'w32)
+ (set-mouse-position (selected-frame) (1- (frame-width)) 0)))
+ (t
+ (when (eq window-system 'x)
+ (x-focus-frame frame)))))
+
(defun other-frame (arg)
"Select the ARG'th different visible frame, and raise it.
All frames are arranged in a cyclic order.
@@ -648,17 +664,7 @@ A negative ARG moves in the opposite order."
(while (not (eq (frame-visible-p frame) t))
(setq frame (previous-frame frame)))
(setq arg (1+ arg)))
- (select-frame frame)
- (raise-frame frame)
- ;; Ensure, if possible, that frame gets input focus.
- (when (eq window-system 'w32)
- (w32-focus-frame frame))
- (cond (focus-follows-mouse
- (unless (eq window-system 'w32)
- (set-mouse-position (selected-frame) (1- (frame-width)) 0)))
- (t
- (when (eq window-system 'x)
- (x-focus-frame frame))))))
+ (select-frame-set-input-focus frame)))
(defun make-frame-names-alist ()
(let* ((current-frame (selected-frame))