From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Alan Mackenzie Newsgroups: gmane.emacs.devel Subject: Re: Proposal: new default bindings for winner and windmove Date: Wed, 26 Jun 2024 14:49:32 +0000 Message-ID: References: <055E6E92-6971-409E-A106-7E0C64FEF856@dancol.org> <87bk3r22x5.fsf@yahoo.com> <746FE961-37C5-4387-8274-7D90908EE2D6@dancol.org> <8734p3219c.fsf@yahoo.com> <867cefeo1w.fsf@gnu.org> <8734p03e94.fsf@jeremybryant.net> <867cec9ccl.fsf@gnu.org> <877D0EA4-CAC1-4FA3-8102-8AC7446AFAED@dancol.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="11924"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Eli Zaretskii , Jeremy Bryant , luangruo@yahoo.com, stefankangas@gmail.com, monnier@iro.umontreal.ca, emacs-devel@gnu.org To: Daniel Colascione Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Wed Jun 26 16:50:08 2024 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1sMTyI-0002pf-8B for ged-emacs-devel@m.gmane-mx.org; Wed, 26 Jun 2024 16:50:06 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sMTy5-0008Id-OV; Wed, 26 Jun 2024 10:49:54 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sMTxu-0008DB-Hn for emacs-devel@gnu.org; Wed, 26 Jun 2024 10:49:43 -0400 Original-Received: from mail.muc.de ([193.149.48.3]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sMTxo-0004v2-Ie for emacs-devel@gnu.org; Wed, 26 Jun 2024 10:49:38 -0400 Original-Received: (qmail 95655 invoked by uid 3782); 26 Jun 2024 16:49:33 +0200 Original-Received: from muc.de (pd953ace7.dip0.t-ipconnect.de [217.83.172.231]) (using STARTTLS) by colin.muc.de (tmda-ofmipd) with ESMTP; Wed, 26 Jun 2024 16:49:33 +0200 Original-Received: (qmail 9606 invoked by uid 1000); 26 Jun 2024 14:49:32 -0000 Content-Disposition: inline In-Reply-To: <877D0EA4-CAC1-4FA3-8102-8AC7446AFAED@dancol.org> X-Submission-Agent: TMDA/1.3.x (Ph3nix) X-Primary-Address: acm@muc.de Received-SPF: pass client-ip=193.149.48.3; envelope-from=acm@muc.de; helo=mail.muc.de X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 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-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:320706 Archived-At: Hello, Daniel. On Wed, Jun 26, 2024 at 09:51:41 -0400, Daniel Colascione wrote: > On June 26, 2024 9:22:10 AM EDT, Alan Mackenzie wrote: > >On Wed, Jun 26, 2024 at 07:44:19 -0400, Daniel Colascione wrote: > >> On June 26, 2024 7:23:38 AM EDT, Eli Zaretskii wrote: > >> >> From: Jeremy Bryant > >> >> Cc: Po Lu , dancol@dancol.org, acm@muc.de, > >> >> stefankangas@gmail.com, monnier@iro.umontreal.ca, emacs-devel@gnu.org > >> >> Date: Tue, 25 Jun 2024 22:26:47 +0100 > >> >> 1. > >> >> I also find that C-x 4 is indeed logical, which makes it easier to remember > >> >> 2. > >> >> C-x 4 .. works on the terminal/console. This is important for > >> >> preserving functionality of Emacs. > >> >I still hope that someone will tell what is exactly the request here, > >> >given that windmove-mode is on by default and its commands are > >> >autoloaded. > >> To be clear, my proposal is to bind C-x 4 in the default > >> global keymap to the corresponding directional windmove commands and > >> to bind the shifted versions of these keys to the state swapping > >> versions of these movement commands. IOW, in emacs -Q, C-x 4 LEFT > >> should move left. > >That doesn't clear up all that much. The answers to "why?" are missing. > >I don't think there need to be such bindings in the default keymap. > >As Eli said, windmove is autoloaded, including its command > >windmove-default-keybindings. By default, this binds S- etc., which > >strike me as better bindings than C-x 4 etc. for anybody not using > >these bindings for anything else. C-x 4 might be convenient for > >those on tty's whose keyboard layout lacks -, but > >hardly on a GUI Emacs. > >Possibly, windmove-default-keybindings could be enhanced to allow a > >prefix key binding to be given as an alternative to a set of modifiers. > >Possibly. > >So, currently, windmove is easily available to anybody that wants it, > >and doesn't "waste" the key bindings of those who don't. > There is no "waste". We've gone over this at length. People who want to > bind these keys can bind them still. Nobody is hurt by default bindings > being present, and all the arguments I've seen against these bindings > are also arguments against having default bindings at all. And round and round we go once more... Just the puerile strawman again, about either definitely needing these new default bindings or not needing any default bindings whatsoever. What makes you think that unneeded default bindings don't hurt? I don't think you've justified that at all in the current thread. > There's no need to augment the binding function with a new parameter. > Anyone who can use the new parameter can just bind the keys directly. > The point is that out of the box Emacs should be useful and useable, > that the lack of default bindings for windmove makes it less so, and > that there's little downside to adding these bindings. No. If anything, Emacs has too many default keybindings, making it more difficult to learn than it would otherwise be. I'm not arguing for removing bindings, but I say we should be generally averse to adding new ones without very good reasons. I'm trying to get you to argue why there are very good reasons in this particular case. Other than saying you like windmove, you seem loathe to do so. > > Why is the current state unsatisfactory, and why do you want to make > > these new bindings? > Because it's useful to navigate windows positionally as well as > temporally. Other-window often has unpredictable effects and navigating > with windmove DWIM. There are hundreds of other commands it would "be useful to be able to do". What is special about windmove, that it should get special treatment, beyond its current special treatment of being autoloaded? You haven't answered the first question: why is the current state, where anybody who wants to can easily use windmove, unsatisfactory? It's useful to you personally to be able to "navigate windows positionally", but to me, and likely the majority of Emacs users who don't use it already, it's not at all useful. -- Alan Mackenzie (Nuremberg, Germany).