From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Pranshu Sharma via "Emacs development discussions." Newsgroups: gmane.emacs.devel Subject: Re: Add function to rotate/transpose all windows Date: Wed, 18 Dec 2024 11:50:35 +1000 Message-ID: <877c7x4v4k.fsf@bauherren.ovh> References: <87setpdv21.fsf@gmail.com> <878qt8spp2.fsf@gmail.com> <0ce35c7a-8b28-4905-a6ab-caf50f2fc750@gmx.at> <87mshl2i6h.fsf@gmail.com> <9b460366-f34e-48f6-a680-e7fa5bc7f598@gmx.at> <87bjy03fql.fsf@gmail.com> <356d63bc-818c-428c-b31b-a0eb227b3a8a@gmx.at> <87o720gjst.fsf@gmail.com> <7dfe87a0-b367-47df-86df-f8fd95163fd6@gmx.at> <8734jbz8sb.fsf@gmail.com> <50ab6c0a-6afb-4727-9094-178668fc4f4e@gmx.at> <87zflfc3cd.fsf@gmail.com> <87y10ycxv6.fsf@gmail.com> <87mshbiiee.fsf@bauherren.ovh> <30c31060-6be4-4dab-8e49-c6f543821ea5@gmx.at> <87y10ecxk9.fsf@bauherren.ovh> <787e1cf0-810c-4eea-8d89-03ee83f67807@gmx.at> <87ttb2cof2.fsf@bauherren.ovh> <87seqmf9uj.fsf@mail.linkov.net> Reply-To: Pranshu Sharma Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="8760"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: Pranshu Sharma via "Emacs development discussions." , martin rudalics , "eliz@gnu.org" To: Juri Linkov Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Wed Dec 18 04:23: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 1tNkeM-00026I-G8 for ged-emacs-devel@m.gmane-mx.org; Wed, 18 Dec 2024 04:23:02 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tNkdN-0001LC-ND; Tue, 17 Dec 2024 22:22:01 -0500 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 1tNjD7-0008IF-B0 for emacs-devel@gnu.org; Tue, 17 Dec 2024 20:50:49 -0500 Original-Received: from [2001:19f0:7400:14e3:5400:5ff:fe30:b63e] (helo=mail.bauherren.ovh) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tNjD5-00088O-30; Tue, 17 Dec 2024 20:50:49 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bauherren.ovh; s=mail; t=1734486642; bh=HKJrXJe7+I9P8BJi9+TJed6TtOULeMwOhNf0YmWfNUI=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=TwjEd0s2te+4i/iqNEJrws7UZaSc64/XiAKEeANM3XoE89H/UXlTGN+J1GdsUAfNf G32CuABHSBg1F8ksbgTQzUmYR/cnpwEgu1YPIKtOIJS3wMd2RXKynpVY6aNyTXuvyC eyIgnOylWXfNzSZRNKDIiJMp1g5ssmWDq8f2j8N76/FoC3RkRqCrdDQSIn9E4PwQJe rOvXRt9v4yU8ioA3RWZczrKfFActDoOc9DorMKugBEGnumdH0JBnqby9X137eeiWUq 0xWoGQZLXHIXiNLemyAQVpZeTWaPQHbCDKrQBtyhVQkPSVcvIfAsngfIRVjipAs/H4 E/agbW4gCNb4A== In-Reply-To: <87seqmf9uj.fsf@mail.linkov.net> (Juri Linkov's message of "Tue, 17 Dec 2024 20:32:28 +0200") X-Host-Lookup-Failed: Reverse DNS lookup failed for 2001:19f0:7400:14e3:5400:5ff:fe30:b63e (failed) Received-SPF: pass client-ip=2001:19f0:7400:14e3:5400:5ff:fe30:b63e; envelope-from=pranshu@bauherren.ovh; helo=mail.bauherren.ovh X-Spam_score_int: 0 X-Spam_score: -0.1 X-Spam_bar: / X-Spam_report: (-0.1 / 5.0 requ) BAYES_00=-1.9, DKIM_INVALID=0.1, DKIM_SIGNED=0.1, FROM_FMBLA_NEWDOM28=0.798, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Tue, 17 Dec 2024 22:21:58 -0500 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:326626 Archived-At: Juri Linkov writes: >>> - Have you settled on final names for your functions? I need them so I >>> can write a(n at least) preliminary section in the Elisp manual. >> >> I have > > What are these names? It seems such names would be suitable: > > - rotate-windows > > - rotate-windows-back this combo is much better than the clockwise-anticlockwise alternaitve. Should it be backward-rotate-windows instead, as that is generally used for these kind of names? > - rotate-window-layout > - rotate-window-layout-back Here we should have clockwise and anti clockwise IMO. They do imply a direction. > > - flip-window-layout-horizontally > - flip-window-layout-vertically These 2 are good. > > - flip-window-layout-diagonally > This is a better name than transpose-windows. > To transpose all windows means this transformation > that swaps x-axis and y-axis: > > +------------+------------+ +----------------+--------+ > | | B | | A | | > | A +------------+ | | | > | | C | => +--------+-------+ D | > +------------+------------+ | B | C | | > | D | | | | | > +-------------------------+ +--------+-------+--------+ Flip-diagnally pretty much means transpose in most cases, transpose is the established terminology already, eg when you transpose tables, and matracies. flip-window-layout-diagonally is a bit too verbose for me. > >>> - Have the keybindings been established? >> >> Juri, what do you think? IMO we could have > What is mnemonic of 'c'. I see no letter 'c' in "rotate layout". In my head I was thinking cycle-windows. Now I am stuck as to where we can put them, rotate-window-layout's and rotate-windows's logical keybindings are the same. Perhaps we might have to go with an unmemonic keybinding. >> IMO preserving keybindings for future use is premature optimisation, >> breaking backward compatibility in terms of keybindings is generally >> harmless. > > Experience shows that replacing established keys is not quite > harmless. As in, what happens? Plus I doubt many people use 'C-x w' as it is pretty new. >> We discussed this previously, and decided that it should not be in >> window.el as it is loaded, instead we should put it in an autoloaded >> file. IMO we should make new file window-transpose.el, putting it in >> windowmove would not make much sense. wdyt? > > Eli suggested window-x.el, so let's use this. Oh yes, I remember, I was confused between window-util or window-extra, this is good.