From 3b5b99ac919eff05374d74b4a052d33c34c56742 Mon Sep 17 00:00:00 2001 From: Po Lu Date: Thu, 1 Dec 2022 19:15:28 +0800 Subject: [PATCH] * doc/lispref/frames.texi (Input Focus): Clarify for XInput 2 support. --- doc/lispref/frames.texi | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/doc/lispref/frames.texi b/doc/lispref/frames.texi index b3f1a29ae8f..a656964198b 100644 --- a/doc/lispref/frames.texi +++ b/doc/lispref/frames.texi @@ -2854,10 +2854,18 @@ The plural ``frames'' in the previous paragraph is deliberate: while Emacs itself has only one selected frame, Emacs can have frames on many different terminals (recall that a connection to a window system counts as a terminal), and each terminal has its own idea of which -frame has input focus. When you set the input focus to a frame, you -set the focus for that frame's terminal, but frames on other terminals +frame has input focus. Under the X Window System, where user input is +organized into individual ``seats'' of input, each seat in turn can +have its own specific input focus. When you set the input focus to a +frame, you set the focus for that frame's terminal on the last seat +which interacted with Emacs, but frames on other terminals and seats may still remain focused. +If the input focus is set before any user interaction has occurred on +the specified terminal, then the X server picks a random seat +(normally the one with the lowest number) and sets the input focus +there. + Lisp programs can switch frames temporarily by calling the function @code{select-frame}. This does not alter the window system's concept of focus; rather, it escapes from the window manager's control until -- 2.39.5