From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Robert Weiner Newsgroups: gmane.emacs.devel Subject: Re: Suggestion: Add discussion of input focus handling to select-window; add select-frame-window Date: Sat, 16 Dec 2017 13:16:48 -0500 Message-ID: References: <5A30E9AF.2060105@gmx.at> <5A317FAA.3090209@gmx.at> <83d13iv095.fsf@gnu.org> <83bmj2ugok.fsf@gnu.org> <834loqskkw.fsf@gnu.org> <83wp1mr3cp.fsf@gnu.org> Reply-To: rswgnu@gmail.com NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="001a1146b13aa9bd79056079209c" X-Trace: blaine.gmane.org 1513448255 31102 195.159.176.226 (16 Dec 2017 18:17:35 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sat, 16 Dec 2017 18:17:35 +0000 (UTC) Cc: martin rudalics , Stefan Monnier , emacs-devel To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Dec 16 19:17:25 2017 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eQH1X-00074v-59 for ged-emacs-devel@m.gmane.org; Sat, 16 Dec 2017 19:17:23 +0100 Original-Received: from localhost ([::1]:51665 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eQH1d-0003ZL-PH for ged-emacs-devel@m.gmane.org; Sat, 16 Dec 2017 13:17:29 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:56327) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eQH1X-0003ZG-Em for emacs-devel@gnu.org; Sat, 16 Dec 2017 13:17:24 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eQH1U-0002hD-57 for emacs-devel@gnu.org; Sat, 16 Dec 2017 13:17:23 -0500 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:37129) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eQH1U-0002h8-1H for emacs-devel@gnu.org; Sat, 16 Dec 2017 13:17:20 -0500 Original-Received: from mail-qk0-f179.google.com ([209.85.220.179]:35908) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1eQH1T-0008Io-Bv; Sat, 16 Dec 2017 13:17:19 -0500 Original-Received: by mail-qk0-f179.google.com with SMTP id 8so14036659qkj.3; Sat, 16 Dec 2017 10:17:19 -0800 (PST) X-Gm-Message-State: AKGB3mIXtPLTkqgzoWf/0zl5xQoawr89iW9/KxrU8HkV5MvMxAmV97vL E9oiMaxjmFvpXAC9KSnmOnszoJ4Tlbv5fbkGA8U= X-Google-Smtp-Source: ACJfBotHzlccYRPXUndDQ8a1ahynGD7WjRQbMgo4fqsDvoDpWHKlhOMe2RtmflffM3bgm4KMXyRFLv0J+P+6CCeIDoU= X-Received: by 10.55.17.152 with SMTP id 24mr2502556qkr.229.1513448238856; Sat, 16 Dec 2017 10:17:18 -0800 (PST) Original-Received: by 10.200.55.124 with HTTP; Sat, 16 Dec 2017 10:16:48 -0800 (PST) In-Reply-To: <83wp1mr3cp.fsf@gnu.org> X-Gmail-Original-Message-ID: X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:221141 Archived-At: --001a1146b13aa9bd79056079209c Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Sat, Dec 16, 2017 at 12:26 PM, Eli Zaretskii wrote: > > There's a node "Input Focus" in the ELisp manual. What is missing > from it to cover what you want? > > In my scheme of Emacs-ware, there's no such thing as "redirecting > input to a window". =E2=80=8BWhen the user selects another window within the selected frame or a select-window is done on the selected frame, user input (typing) and programmatic input (insert) shifts from the prior window to the new window. No frame change has occurred yet where user input like self-inserting characters goes is different. How can this not be part of your Emacs model? =E2=80=8B=E2=80=8B > Input is redirected to a frame, and then t > =E2=80=8B=E2=80=8B > =E2=80=8B=E2=80=8B > he > =E2=80=8B=E2=80=8B > > =E2=80=8B=E2=80=8B > selected window on that frame is usually > =E2=80=8B=E2=80=8B > the one that reacts to user > =E2=80=8B=E2=80=8B > input (I say "usually' because some input > =E2=80=8B=E2=80=8B > , like mouse gestures, can > =E2=80=8B=E2=80=8B > operate on n on-selected windows). > =E2=80=8B=E2=80=8B =E2=80=8B =E2=80=8BSome concept other than input focus is sending those inputs to the selected window (maybe we limit discussion to keyboard inputs for now). Maybe it could have a name and be described. =E2=80=8B > =E2=80=8B=E2=80=8B > > =E2=80=8B=E2=80=8B > > I read through parts of the Elisp manual. The section on Windows does > not explain > =E2=80=8B=E2=80=8B > > how to redirect user input ot an arbitrary window. The top-level on > Frames does > =E2=80=8B=E2=80=8B > > not either. It is not until I get to the section on Input Focus that I > get any > =E2=80=8B=E2=80=8B > > helpful information on this and that section refers only to frames, not > selected > =E2=80=8B=E2=80=8B > > windows. > =E2=80=8B=E2=80=8B > > =E2=80=8B=E2=80=8B > Then perhaps the only stuff that's missing is some appropriately > =E2=80=8B=E2=80=8B > worded index entries that lead to "Input Focus", and maybe also short > =E2=80=8B=E2=80=8B > notes with cross-references elsewhere in the manual. =E2=80=8B=E2=80=8B Frame-level input focus is insufficient to describe the window to which keyboard input goes in all cases. It requires a combination of set input focus and select-window, right? Plus, if we want to see any changes in buffer-to-window mappings during the course of a function, we must invoke redisplay. It is the description of the interrelations of these things tha= t is not described in a single place anywhere, especially with code samples, making it difficult for programmers to see what must be done. Bob --001a1146b13aa9bd79056079209c Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
On Sat, Dec 16, 2= 017 at 12:26 PM, Eli Zaretskii <e= liz@gnu.org> wro= te:
<= blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px= #ccc solid;padding-left:1ex">
There's a node "Input Focus" in the ELisp manual.=C2= =A0 What is missing
from it to cover what you want?

In my scheme of Emacs-ware, there's no such thing as "redirecting<= br> input to a window".

=E2=80=8BWhen the user sele= cts another window within the selected frame
or a select-window is done on= the selected frame, user input
(typing) and programmatic input (insert) s= hifts from the prior
window to the new window.=C2=A0 No frame change has o= ccurred yet
where user input like self-inserting characters goes is differ= ent.
How can this not be part of your Emacs model?

=E2=80=8B=E2=80=8B
=C2=A0 Input is redir= ected to a frame, and then t
=E2=80=8B=E2=80=8B
=E2=80=8B=E2=80=8B
he
=E2=80=8B=E2=80=8B

=E2=80=8B=E2=80=8B
selected window on that frame is usually=
=E2=80=8B=E2=80=8B
the one that reacts to user
=E2=80=8B=E2=80=8B
input (I say "usually' because = some input
=E2=80=8B=E2=80=8B
, like mouse gestures, can
=E2=80=8B=E2=80=8B
operate on n on-selected windows).
=E2=80=8B=E2=80=8B
=E2=80=8B
=E2=80=8BSome concept othe= r than input focus is sending those inputs to the
selected window (maybe w= e limit discussion to keyboard inputs for now).
Maybe it could have a name= and be described.
=E2=80=8B
=E2=80=8B=E2=80=8B

=E2=80=8B=E2=80=8B
> I read through parts of the Elisp m= anual.=C2=A0 The section on Windows does not explain
=E2=80=8B=E2=80=8B
> how to redirect user input ot an ar= bitrary window.=C2=A0 The top-level on Frames does
=E2=80=8B=E2=80=8B
> not either.=C2=A0 It is not until I= get to the section on Input Focus that I get any
=E2=80=8B=E2=80=8B
> helpful information on this and tha= t section refers only to frames, not selected
=E2=80=8B=E2=80=8B
> windows.
=E2=80=8B=E2=80=8B

=E2=80=8B=E2=80=8B
Then perhaps the only stuff that&= #39;s missing is some appropriately
=E2=80=8B=E2=80=8B
worded index entries that lead to "= Input Focus", and maybe also short
=E2=80=8B=E2=80=8B
notes with cross-references elsewhere in= the manual.
=E2=80=8B=E2=80=8B
Frame-level input focus= is insufficient to describe the window to which
keyboard input goes in al= l cases.=C2=A0 It requires a combination of set input
focus and select-win= dow, right?=C2=A0 Plus, if we want to see any changes in
buffer-to-window = mappings during the course of a function, we must invoke
redisplay.=C2=A0 = It is the description of the interrelations of these things that
is not de= scribed in a single place anywhere, especially with code samples,
making i= t difficult for programmers to see what must be done.

Bob


--001a1146b13aa9bd79056079209c--