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 17:44:10 -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> <83tvwqqzw7.fsf@gnu.org> <83po7eqwe7.fsf@gnu.org> Reply-To: rswgnu@gmail.com NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="001a1146b13ad5523905607cdc81" X-Trace: blaine.gmane.org 1513464177 5724 195.159.176.226 (16 Dec 2017 22:42:57 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sat, 16 Dec 2017 22:42:57 +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 23:42:53 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 1eQLAR-0001Bf-HR for ged-emacs-devel@m.gmane.org; Sat, 16 Dec 2017 23:42:51 +0100 Original-Received: from localhost ([::1]:52404 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eQLCP-00047a-HM for ged-emacs-devel@m.gmane.org; Sat, 16 Dec 2017 17:44:53 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:33312) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eQLCI-00047V-9I for emacs-devel@gnu.org; Sat, 16 Dec 2017 17:44:47 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eQLCD-0005qb-Uq for emacs-devel@gnu.org; Sat, 16 Dec 2017 17:44:46 -0500 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:40267) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eQLCD-0005qR-RP for emacs-devel@gnu.org; Sat, 16 Dec 2017 17:44:41 -0500 Original-Received: from mail-qk0-f181.google.com ([209.85.220.181]:42460) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1eQLCD-0006Pk-6r; Sat, 16 Dec 2017 17:44:41 -0500 Original-Received: by mail-qk0-f181.google.com with SMTP id a193so5736138qkc.9; Sat, 16 Dec 2017 14:44:41 -0800 (PST) X-Gm-Message-State: AKGB3mIBAhAqh9sTbVdWw78G+9+y+QW7R++QmhnKTjRuGRSfVFy/QiPl FsryC895MpjfEJUvqZ5W6L6egVXIH13jb5TzQjs= X-Google-Smtp-Source: ACJfBoucSz8YRXNVpvfyiFGT5Pzy7PawB6Rcz+zCun+7PW6S2M3MJsQ0wszW7KCif0YXQ4RFSMIEQeVP1tg43vhbXI4= X-Received: by 10.55.17.152 with SMTP id 24mr3287968qkr.229.1513464280730; Sat, 16 Dec 2017 14:44:40 -0800 (PST) Original-Received: by 10.200.55.124 with HTTP; Sat, 16 Dec 2017 14:44:10 -0800 (PST) In-Reply-To: <83po7eqwe7.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:221159 Archived-At: --001a1146b13ad5523905607cdc81 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Sat, Dec 16, 2017 at 2:56 PM, Eli Zaretskii wrote: > > From: Robert Weiner > > Date: Sat, 16 Dec 2017 14:18:09 -0500 > > Cc: Stefan Monnier , martin rudalics < > rudalics@gmx.at>, > > emacs-devel > > > > > =E2=80=8B=E2=80=8BFrame-level input focus is insufficient to describ= e the window to > which > > > keyboard input goes in all cases. > > > > =E2=80=8BWe were talking about how input focus was an insufficient > > concept to describe which window user input is directed to. > > Similarly, select-window is insufficient by itself as well. > > And I disagree with that. I think it _is_ sufficient. > As you said, we have covered this enough. =E2=80=8B > =E2=80=8B=E2=80=8B > > =E2=80=8BWhere is that explained? How does one find it? > =E2=80=8B=E2=80=8B > > =E2=80=8B=E2=80=8B > > =E2=80=8B=E2=80=8B > It's in the text you cited about what the "selected w > =E2=80=8B=E2=80=8B > indow" means. If > =E2=80=8B=E2=80=8B > you are saying that "most editing" does not necess > =E2=80=8B=E2=80=8B > arily cover keyboard > =E2=80=8B=E2=80=8B > input, I'm okay with adding that as an example. > =E2=80=8B=E2=80=8B > =E2=80=8B=E2=80=8B That would be good if it had a reference to where to find the rest of the information covering keyboard input. Bob =E2=80=8B=E2=80=8B=E2=80=8B=E2=80=8B > (Once again, such > text must not be interpreted too literally, because, e.g., commands > like "C-x 5 0" are definitely "keyboard input", but affect something > other than the selected window.) > =E2=80=8BYes. =E2=80=8B > =E2=80=8B=E2=80=8B > > =E2=80=8B=E2=80=8B > > =E2=80=8B=E2=80=8B> Plus, if we want to see any changes in buffer-to-w= indow mappings > =E2=80=8B=E2=80=8B > > =E2=80=8B=E2=80=8B> during the course of a function, we must invoke re= display. > =E2=80=8B=E2=80=8B > > > =E2=80=8B=E2=80=8B > > Not normally, no. Normally, you select the frame and the window, and > =E2=80=8B=E2=80=8B > > then redisplay will do the rest automatically after your command > =E2=80=8B=E2=80=8B > > completes. To need some change displayed in the middle of a command > =E2=80=8B=E2=80=8B > > is unusual. > =E2=80=8B=E2=80=8B =E2=80=8BOkay.=E2=80=8B =E2=80=8B=E2=80=8B > =E2=80=8B=E2=80=8B > > I think temporarily displaying a frame from the stack is > =E2=80=8B=E2=80=8B > > a useful visual technique that would see more use were it > =E2=80=8B=E2=80=8B > > simpler to implement. > =E2=80=8B=E2=80=8B > > =E2=80=8B=E2=80=8B > "Useful" does not contradict "unusual". Because it's unusual, finding > =E2=80=8B=E2=80=8B > the details about achieving these goals could legitimately be somewhat > =E2=80=8B=E2=80=8B > harder than for the more popular use cases. > =E2=80=8BSo you are saying it may be hard yet potentially worthwhile to do? =E2=80=8B=E2=80=8B > > =E2=80=8B=E2=80=8B > > =E2=80=8B=E2=80=8B> It is the description of the interrelations of the= se things that > =E2=80=8B=E2=80=8B > > =E2=80=8B=E2=80=8B> is not described in a single place anywhere, espec= ially with code > samples, > =E2=80=8B=E2=80=8B > > =E2=80=8B=E2=80=8B> making it difficult for programmers to see what mu= st be done. > =E2=80=8B=E2=80=8B > > =E2=80=8B=E2=80=8B > =E2=80=8B=E2=80=8B > > =E2=80=8B=E2=80=8BI don't understand why a complex task involving seve= ral steps must > =E2=80=8B=E2=80=8B > > =E2=80=8B=E2=80=8Bnecessarily be described in a single place. > =E2=80=8B=E2=80=8B > > > =E2=80=8B=E2=80=8B > > =E2=80=8BThe implementation may be complex now but the user-level conce= pt > =E2=80=8B=E2=80=8B > > is not. > =E2=80=8B=E2=80=8B > > =E2=80=8B=E2=80=8B > I wasn't talking about the implementation. I was talking about the > =E2=80=8B=E2=80=8B > task of a Lisp programmer who needs to select a window on another > =E2=80=8B=E2=80=8B > frame and make sure the frame is raised and input focus is redirected > =E2=80=8B=E2=80=8B > to it. This task is more complex than just selecting a window on the > =E2=80=8B=E2=80=8B > currently selected frame. > =E2=80=8B=E2=80=8B > > =E2=80=8B=E2=80=8B > > I think this seems complex to you because you know many of the > =E2=80=8B=E2=80=8B > > intricacies of what it takes=E2=80=8B, but from a user perspective, it = is > =E2=80=8B=E2=80=8B > > one thing. > =E2=80=8B=E2=80=8B > > =E2=80=8B=E2=80=8B > I disagree, and not because of my developer experience, but because of > =E2=80=8B=E2=80=8B > my user experience. > =E2=80=8BSo we see this differently. Thanks for the time discussing it. Bob --001a1146b13ad5523905607cdc81 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
On Sat, Dec 16, 2= 017 at 2:56 PM, Eli Zaretskii <el= iz@gnu.org> wrot= e:
> From: Robert Weiner &l= t;rsw@gnu.org>
> Date: Sat, 16 Dec 2017 14:18:09 -0500
> Cc: Stefan Monnier <monnier@iro.umontreal.ca>, martin rudalics <= rudalics@gmx.at>= ;,
>=C2=A0 =C2=A0 =C2=A0 =C2=A0emacs-devel <emacs-devel@gnu.org>
>
>=C2=A0 > =E2=80=8B=E2=80=8BFrame-level input focus is i= nsufficient to describe the window to which
>=C2=A0 > keyboard input goes in all cases.
>
> =E2=80=8BWe were talking about how input focus was an insufficient
> concept to describe which window user input is directed to.
> Similarly, select-window is insufficient by itself as well.

And I disagree with that.=C2=A0 I think it _is_ sufficient.

As you said, we have covered this enough.

<= blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-l= eft:1px solid rgb(204,204,204);padding-left:1ex">
=E2=80=8B=
=E2=80=8B=E2=80=8B
> =E2=80=8BWhere is that explai= ned?=C2=A0 How does one find it?
=E2=80=8B=E2=80=8B

=E2=80=8B=E2=80=8B

=E2=80=8B=E2=80=8B
It's in the text you cited ab= out what the "selected w
=E2=80=8B=E2=80=8B
indow"= means.=C2=A0 If
=E2=80=8B=E2=80=8B
you are saying that "most editing&q= uot; does not necess
=E2=80=8B=E2=80=8B
arily cover keyboard=
=E2=80=8B=E2=80=8B
input, I'm okay with adding that as = an example.
=E2=80=8B=E2=80=8B
=E2=80=8B=E2= =80=8B
That would be good if it had a reference to where to find
the rest= of the information covering keyboard input.

Bob
=E2=80=8B=E2=80=8B= =E2=80=8B=E2=80=8B
=C2=A0 (Once again, such
text must not be interpreted too literally, because, e.g., commands
like "C-x 5 0" are definitely "keyboard input", but aff= ect something
other than the selected window.)

=E2=80=8BYes.<= /div>
=E2=80=8B
=E2=80=8B=E2=80=8B

=E2=80=8B=E2=80=8B
>=C2=A0 =E2=80=8B=E2=80=8B> Plus, = if we want to see any changes in buffer-to-window mappings
=E2=80=8B=E2=80=8B
>=C2=A0 =E2=80=8B=E2=80=8B> during= the course of a function, we must invoke redisplay.
=E2=80=8B=E2=80=8B
>
=E2=80=8B=E2=80=8B
>=C2=A0 Not normally, no.=C2=A0 Norma= lly, you select the frame and the window, and
=E2=80=8B=E2=80=8B
>=C2=A0 then redisplay will do the re= st automatically after your command
=E2=80=8B=E2=80=8B
>=C2=A0 completes.=C2=A0 To need some= change displayed in the middle of a command
=E2=80=8B=E2=80=8B
>=C2=A0 is unusual.
=E2=80=8B=E2=80=8B
=C2=A0
=E2=80=8BOkay.=E2=80=8B
=C2=A0
=E2=80=8B=E2=80= =8B
=C2=A0
=E2=80=8B=E2=80=8B
> I think temporarily displaying a fr= ame from the stack is
=E2=80=8B=E2=80=8B
> a useful visual technique that woul= d see more use were it
=E2=80=8B=E2=80=8B
> simpler to implement.
=E2=80=8B=E2=80=8B

=E2=80=8B=E2=80=8B
"Useful" does not contr= adict "unusual".=C2=A0 Because it's unusual, finding
=E2=80=8B=E2=80=8B
the details about achieving these goals = could legitimately be somewhat
=E2=80=8B=E2=80=8B
harder than for the more popular use cas= es.

=E2=80=8BSo you are saying it may be hard ye= t potentially worthwhile
to do?

=E2=80=8B=E2=80=8B

=E2=80=8B=E2=80=8B
>=C2=A0 =E2=80=8B=E2=80=8B> It is = the description of the interrelations of these things that
=E2=80=8B=E2=80=8B
>=C2=A0 =E2=80=8B=E2=80=8B> is not= described in a single place anywhere, especially with code samples,
=E2=80=8B=E2=80=8B
>=C2=A0 =E2=80=8B=E2=80=8B> making= it difficult for programmers to see what must be done.
=E2=80=8B=E2=80=8B
>=C2=A0 =E2=80=8B=E2=80=8B
=E2=80=8B=E2=80=8B
>=C2=A0 =E2=80=8B=E2=80=8BI don't= understand why a complex task involving several steps must
=E2=80=8B=E2=80=8B
>=C2=A0 =E2=80=8B=E2=80=8Bnecessarily= be described in a single place.
=E2=80=8B=E2=80=8B
>
=E2=80=8B=E2=80=8B
> =E2=80=8BThe implementation may be = complex now but the user-level concept
=E2=80=8B=E2=80=8B
> is not.
=E2=80=8B=E2=80=8B

=E2=80=8B=E2=80=8B
I wasn't talking about the im= plementation.=C2=A0 I was talking about the
=E2=80=8B=E2=80=8B
task of a Lisp programmer who needs to s= elect a window on another
=E2=80=8B=E2=80=8B
frame and make sure the frame is raised = and input focus is redirected
=E2=80=8B=E2=80=8B
to it.=C2=A0 This task is more complex t= han just selecting a window on the
=E2=80=8B=E2=80=8B
currently selected frame.
=E2=80=8B=E2=80=8B

=E2=80=8B=E2=80=8B
> I think this seems complex to you b= ecause you know many of the
=E2=80=8B=E2=80=8B
> intricacies of what it takes=E2=80= =8B, but from a user perspective, it is
=E2=80=8B=E2=80=8B
> one thing.
=E2=80=8B=E2=80=8B

=E2=80=8B=E2=80=8B
I disagree, and not because of my= developer experience, but because of
=E2=80=8B=E2=80=8B
my user experience.

=E2=80=8BSo we see this differently.=C2=A0 Thanks for the time discu= ssing it.

Bob

--001a1146b13ad5523905607cdc81--