From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Jeremy Bryant Newsgroups: gmane.emacs.devel Subject: Re: Suggestion: Ace-window in Emacs core for switching windows? Date: Tue, 02 Jul 2024 23:31:04 +0100 Message-ID: <87bk3fbf4n.fsf@jeremybryant.net> References: <87y16s1z61.fsf@jeremybryant.net> <868qyq67hr.fsf@gnu.org> <87ikxrflie.fsf@jeremybryant.net> <87bk3jwae3.fsf@posteo.net> <87ikxpc4s2.fsf@jeremybryant.net> <87cynw7wgv.fsf@posteo.net> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="575"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Stefan Kangas , Eli Zaretskii , ohwoeowho@gmail.com, emacs-devel@gnu.org To: Philip Kaludercic Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Wed Jul 03 00:32:03 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 1sOm2b-000AW2-U3 for ged-emacs-devel@m.gmane-mx.org; Wed, 03 Jul 2024 00:32:02 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sOm22-0007EL-UB; Tue, 02 Jul 2024 18:31:29 -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 1sOm1s-0006zW-Nt for emacs-devel@gnu.org; Tue, 02 Jul 2024 18:31:18 -0400 Original-Received: from out-188.mta0.migadu.com ([2001:41d0:1004:224b::bc]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sOm1n-0001Lk-AC for emacs-devel@gnu.org; Tue, 02 Jul 2024 18:31:16 -0400 X-Envelope-To: emacs-devel@gnu.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jeremybryant.net; s=key1; t=1719959466; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=VlfCjcpDKmzos+LqUnpL7voEELa1fK85ujDyZ6pac10=; b=rfst4GQYPnnXkB9QWjc4jGHvGgoV7om8cZyGzgMpbC5uxPXpuBNSw67Ubptqr1XNiuIu5L JPymQbidf0R51IhIt3t2iv9KLb1UWt6Nneu+5A/sxDnHjYS9GLnXITee9kjbiRb384UP0T 0sXwYbniZixSZ5wL6KBnNfNl/JJB8A5WzGxrg1DusruTXWQLT+M3pFjjWArrYMhpj7RFWx LyNEnKJh8xP4Tkq2/ShCqLEkOAPX1IcLWNqixxyE2/VsrQ9hplnRF0LJnkCxY4pLR9MEqp ceajJY+MSjsISww8wtyYOS/nYQPHD2zetUVfhxQTZY4xVN8XfIb6WG7R0hpqlw== X-Envelope-To: ohwoeowho@gmail.com X-Envelope-To: eliz@gnu.org X-Envelope-To: stefankangas@gmail.com X-Envelope-To: philipk@posteo.net X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. In-Reply-To: <87cynw7wgv.fsf@posteo.net> (Philip Kaludercic's message of "Mon, 01 Jul 2024 19:17:52 +0000") X-Migadu-Flow: FLOW_OUT Received-SPF: pass client-ip=2001:41d0:1004:224b::bc; envelope-from=jb@jeremybryant.net; helo=out-188.mta0.migadu.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=unavailable 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:321213 Archived-At: Philip Kaludercic writes: > Jeremy Bryant writes: > >> Stefan Kangas writes: >> >>> Philip Kaludercic writes: >>> >>>> Given that we already have windmove, would the addition of ace-window >>>> really change that much? >>> >>> The same argument could be used for many packages that we have in core. >>> Who needs Gnus when you have rmail, and so on. The packages do >>> basically the same thing, but in very different ways. > > That is fair IMO, because the ways /are/ very different. I just wanted > to clarify, if the method employed by ace-window is different enough to > be interesting as an alternative to windmove. >> FWIW, my personal reason for using ace-window is due to helping with >> RSI. I find that the facility to navigate windows by staying on the >> home row reduces the travel distance on the keyboard. >> >> I recognise that this may not be as essential for other users, and offer >> these remarks just for wider understanding. > > My question is what your experience with windmove has been, and what > advantage ace-window has over windmove. E.g. my main configuration > for Happy to answer your question: I used windmove before I started using ace-window, I concur that it is a useful and intuitive package, and indeed more understandable. I also like the fact that ace-window naturally scales up; in the case of 2 windows, M-x ace-window (bound to your key of choice), reduces to simply the equivalent of M-x other-window. For N>=3 windows, you get the interface explained before. > windmove is > > (setopt windmove-default-keybindings '(nil . nil)) > > that binds window switching directly to the arrow keys. I don't know of > anyone else who does this (and I know of a few colleges who got annoyed > at me for doing this), but I think it is neat. What I am trying to say I agree it's neat. But in my personal use case, as explained, I wish to stay on the home row, so I almost don't use the arrows for anything. > is that there might be a windmove configuration that would serve you > just as well, but you just haven't found it yet. In that case, we need Yes, it could well be true that there is a another interesting configuration. > to document the features better, instead of going through the process of > adding more packages -- as we have seen, that can take a while. Yes, I accept the bar to adding new packages to Emacs is high > >> From ace-window.el: >> ;; By default, ace-window uses numbers for window labels so the window >> ;; labeling is intuitively ordered. But if you prefer to type keys on >> ;; your home row for quicker access, use this setting: >> ;; >> ;; (setq aw-keys '(?a ?s ?d ?f ?g ?h ?j ?k ?l)) >> >> >> I've adapted it to Dvorak layout as: >> (setq aw-keys '(?a ?s ?d ?f ?g ?h ?j ?k ?l))