From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Pranshu Sharma Newsgroups: gmane.emacs.devel Subject: Re: Add function to rotate/transpose all windows Date: Thu, 28 Nov 2024 12:43:14 +1000 Message-ID: <87o720gjst.fsf@gmail.com> References: <87setpdv21.fsf@gmail.com> <875xosy316.fsf@gmail.com> <87bjyfcncu.fsf@gmail.com> <87cyiuefxs.fsf@gmail.com> <878qthewbq.fsf@gmail.com> <8599bc67-b05d-4afc-8e6e-1ba64a30054e@gmx.at> <87frnp2x85.fsf@gmail.com> <823c7cca-63d4-4568-94bc-11f5949d6c5c@gmx.at> <87h683muss.fsf@gmail.com> <02432e6c-6ee2-4c68-9ebb-246f6be88918@gmx.at> <877c8wadke.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> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="22396"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: Juri Linkov , Eli Zaretskii , emacs-devel@gnu.org To: martin rudalics Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Nov 28 07:07:02 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 1tGXg4-0005cz-BP for ged-emacs-devel@m.gmane-mx.org; Thu, 28 Nov 2024 07:07:00 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tGXfO-0007V4-DL; Thu, 28 Nov 2024 01:06:22 -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 1tGUV3-00031s-2m for emacs-devel@gnu.org; Wed, 27 Nov 2024 21:43:25 -0500 Original-Received: from mail-pg1-x52e.google.com ([2607:f8b0:4864:20::52e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tGUUz-0002qT-RK; Wed, 27 Nov 2024 21:43:23 -0500 Original-Received: by mail-pg1-x52e.google.com with SMTP id 41be03b00d2f7-7ee51d9ae30so210829a12.1; Wed, 27 Nov 2024 18:43:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1732761800; x=1733366600; darn=gnu.org; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=Cr/k88siuCg4NtMVm04g2ISKEHMVmN4cNjJXEWFa/CQ=; b=AqzJWNaw6q86IWW3woFboOUpVsKTKDRZhHhMqZVXtihfNp6pzqdmyT44/1n9/bQTcO ZilrIS3SLZgULHJvoH/3MqmS0aGTBI0hZ8Kl16feEeeFOg92DPanhXkjSJn/28z+X1yf JnJlk/5X63jXYcjlRPz/iu/bMfwmNruFTf6rgbLhbw21Hq2oKNmOBoTdVguU2EOXOCZO aHk2KaXf1H38aRoj/wihOrkMxGWtXBMF6uTsPF3mum09pbO/KXQnCdva2lRAB638LTuu 8gJFBn8BGa+IrdF1TBJm86Osi75PMBmRTLK+7KS6IcjR9a1i0IxlQGZmcA7GFTUx929v u5OA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732761800; x=1733366600; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=Cr/k88siuCg4NtMVm04g2ISKEHMVmN4cNjJXEWFa/CQ=; b=FGlDAOwU2RPDJebW/G4kS57JlzbfUxPmoS+7qz+uiu3A4WKT9s7Mit+oUzIRAQt02O OFcX/+YWMAoihzT4zrFT97cLVKgGUYfsC8VzIwYvZYYL+Ed/PpR1xOz9XOWUW8rZ5/yU nzEFzjHhgF3NCE07d+2VIgLnM/C0JeyhHmNYGyR9ztPgleD3G2sFofj+xkLCpD9rd+nK CxrVx/7C22D3Y3c2iJMZsIlD9V2/+sestXqMY+OEozZjZCx/0JxG3qfMvGhdL8M7e2Qo c1JeORweihjoKIN/MkreDNvUP9vyCw/+eGGKt/bPpKB2jppjEdlTfGS7HjtMs9Ut2wDy JkJw== X-Forwarded-Encrypted: i=1; AJvYcCWMD1y7DWdSRWtLmLzyt/vMoJi0EEVxKYl/K3gSs6tEX8TLm0bDgKnmWGE+wWyhUx/ue0MR@gnu.org, AJvYcCXXm8xERMfL8zON5JXcGowydzvjU1/suxXsMo3AZlSx5lGJF7FlVTgwX3/1lxAFbe5HFmJrBbL/aoE7HDY=@gnu.org X-Gm-Message-State: AOJu0YzSc2b4qsny3o69ljQDTq/QQyGaGtN5hZ1AmsVCBcjVRx9+YzfY 5wYlzMMEps+qvQHeRxyjZ5kilXVyBZd9m+CwUhrfYSoMGwTCETju03Uow9CW X-Gm-Gg: ASbGnct7A80yUQK65taAqqfA5eouTpD1pwIXQAPr1mAM3wo3KO8PJBb866ypQN9fpgz CVka2EwJewJjclB5cM3OFEkE7aknIEMSLVnmfQBXyfS/e0Hiv4+UDhe5OgjbX80awBykOzNbEqo VNitzHnu9bb5Ap+fDdmoprlylXixok0bMKJLRYPd30ktOVRk0XWy/amn8jfGIc9ywdK7QCLqFBl C++VP5mwwx7Q6+QO8Ag4sLr7o4yRds3Rgnb9zAoPqzWN1yHrIKVKw== X-Google-Smtp-Source: AGHT+IEDcttKeCfHg/3bingQJER7wh1uQO3pXDho4r1lzpijspYNehNym+NMbvXOj5hL3c0GEAWk3A== X-Received: by 2002:a05:6a21:788a:b0:1db:e358:48a8 with SMTP id adf61e73a8af0-1e0e0ac69a0mr8459391637.10.1732761799422; Wed, 27 Nov 2024 18:43:19 -0800 (PST) Original-Received: from pebl ([2001:8003:7816:8300:2d0c:3357:a3e0:55e3]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-7fc9c3a068dsm195349a12.77.2024.11.27.18.43.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Nov 2024 18:43:18 -0800 (PST) In-Reply-To: <356d63bc-818c-428c-b31b-a0eb227b3a8a@gmx.at> (martin rudalics's message of "Wed, 27 Nov 2024 18:42:17 +0100") Received-SPF: pass client-ip=2607:f8b0:4864:20::52e; envelope-from=pranshusharma366@gmail.com; helo=mail-pg1-x52e.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 5.0 requ) BAYES_00=-1.9, DC_PNG_UNO_LARGO=0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Thu, 28 Nov 2024 01:06:11 -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:325795 Archived-At: --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable martin rudalics writes: >> It was when byte comping emacs/lisp/leim/leim-list.el, so I just removed= the >> whole thing along with the quail library. Then after than it was >> another thing where it would just spam me with 'temacs' warnings, and >> then segmentation fault. > > Does it happen while building Emacs? Then I would do a bootstrap. If > the error persists, stash your changes, update from the repository and > do git clean -xf. If the error still happens with the next bootstrap, > file a bug report. Otherwise unstash your changes and build once more. Ok, I tried building again, but this time with a new shallow clone, and it worked fine. But I got confused with which split-window.diff to apply, and just ended up applying the same one. This bug only happens when building a second time, so I'll let it sleep for now. >> Ok, I did that, and it now works fine. > > It's got one tiny bug: With 'window-resize-pixelwise' non-nil, you must > not pass a float as SIZE to 'split-window'. So please use > > (round split-size) > > in both calls. Also, compiling currently gives > > In cycle-windows: > window-transpose.el:203:29: Warning: =E2=80=98deepmap=E2=80=99 called wit= h 1 argument, but > requires 2 > window-transpose.el:210:22: Warning: reference to free variable =E2=80=98= atom-windows=E2=80=99 Fixed. These errors were to do with cycle-windows. Now I also updated it so it gives message when it has atom or fixed size windows. >> Also what do you want to happen with dedicated-windows in cycle-windows >> command? Technically it'll work fine, but it's unitutve as the user >> gets the expression buffers have changed but window remains the same, >> evo tho only windows have changed. > > You would have to tell me more about it. Can you give me an example? > Ok, so cycle-windows is like other-window, expect you stay where you are, and the windows move for you. --=-=-= Content-Type: image/png Content-Disposition: inline; filename="Screenshot at 2024-11-28 11-43-18.png" Content-Transfer-Encoding: base64 Content-Description: Img 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 --=-=-= Content-Type: text/plain (sorry, I'm fed up with artist-mode) So say if yuo had window A selected in the first scinario, window C would be selected in the second. Since the window layout itself is identical in both, it gives the illusion that windows are actually not changing, rather their contents. So say if in the above image, if window B was dedicated, it would still be fine technically, as the content would change the same but the location move, but it would not feel intituve. >> So in atom windows, there is a bug where they do not remain atomic after >> the functino is called, although the strucutre and proportions are >> preserved,. >> >> I have prepared an gourmet bug experiance for you. Just insert the test >> in any buffer, and go C-x C-e at end. I don't think it'll work if you >> do M-:. Use the updated window-transpose.el. > > This is 'window--atom-check' at work while the window structure is yet > incomplete. An atomic window must contain at least two windows. Please > try with adding the below two forms I don't understand how this is going to fix it. The source of the error was that the window-atom parametor was not getting transferred proeprlty. --=-=-= Content-Type: application/emacs-lisp Content-Disposition: attachment; filename=window-transpose.el Content-Transfer-Encoding: quoted-printable ;;; -*- lexical-binding:t -*- (defun window-tree-pixel-sizes (window &optional next) "Return pixel sizes of all windows rooted at WINDOW. The return value is a list where each window is represented either by a triple whose first element is either t for an internal window that is a horizontal combination, nil for an internal window that is a vertical combination, or the window itself for a valid window. The second element is a cons of the pixel height and pixel width of the window. The third element is specified for internal windows only and recursively lists that window's child windows using the same triple structure." (let (list) (while window (setq list (cons (cond ((window-top-child window) (cons (cons t window) (cons (cons (window-normal-size window nil) (window-normal-size window t)) (window-tree-pixel-sizes (window-top-child window) t)))) ((window-left-child window) (cons (cons nil window) (cons (cons (window-normal-size window nil) (window-normal-size window t)) (window-tree-pixel-sizes (window-left-child window) t)))) (t (list window (cons (window-normal-size window nil) (window-normal-size window t))))) list)) (setq window (when next (window-next-sibling window)))) (nreverse list))) (defun rotate-windows-anticlockwise (&optional subtree frame-or-window) "Rotate windows of FRAME-OR-WINDOW anticlockwise by 90 degrees. FRAME-OR-WINDOW must be a valid frame or window and defaults to the selected frame. If FRAME-OR-WINDOW is a frame, rotate the main window of the frame, otherwise rotate FRAME-OR-WINDOW. See `rotate-windows-clockwise' for how to rotate windows in the opposite direction. If SUBTREE is non-nil, the function will act as if FRAME-OR-WINDOW is the parent window of the selected window." (interactive "P") (let ((window (cond (subtree (window-parent)) ((windowp frame-or-window) frame-or-window) (t (window-main-window frame-or-window))))) (window--transpose window '(right . above) nil))) (defun rotate-windows-clockwise (&optional subtree frame-or-window) "Rotate windows of FRAME-OR-WINDOW clockwise by 90 degrees. FRAME-OR-WINDOW must be a valid frame or window and defaults to the selected frame. If FRAME-OR-WINDOW is a frame, rotate the main window of the frame, otherwise rotate FRAME-OR-WINDOW. See `rotate-windows-anticlockwise' for how to rotate windows in the opposite direction. If SUBTREE is non-nil, the function will act as if FRAME-OR-WINDOW is the parent window of the selected window." (interactive "P") (let ((window (cond (subtree (window-parent)) ((windowp frame-or-window) frame-or-window) (t (window-main-window frame-or-window))))) (window--transpose window '(left . below) nil))) (defun flip-windows-horizontally (&optional subtree frame-or-window) "Horizontally flip windows of FRAME-OR-WINDOW. When the windows are flipped horzontally, the window layout is made to it's reflection from the side edge. FRAME-OR-WINDOW must be a valid frame or window and defaults to the selected frame. If FRAME-OR-WINDOW is a frame, flip from the main window of the frame, otherwise flip from FRAME-OR-WINDOW. See `flip-windows-vertically' for how to flip windows vertically. If SUBTREE is non-nil, the function will act as if FRAME-OR-WINDOW is the parent window of the selected window." (interactive "P") (let ((window (cond (subtree (window-parent)) ((windowp frame-or-window) frame-or-window) (t (window-main-window frame-or-window))))) (window--transpose window '(below . left) t))) (defun flip-windows-vertically (&optional subtree frame-or-window) "Horizontally flip windows of FRAME-OR-WINDOW. When the windows are flipped vertically, the window layout is made to it's reflection from the top edge. FRAME-OR-WINDOW must be a valid frame or window and defaults to the selected frame. If FRAME-OR-WINDOW is a frame, flip from the main window of the frame, otherwise flip from FRAME-OR-WINDOW. See `flip-windows-horizontally' for how to flip windows horizontally." (interactive "P") (let ((window (cond (subtree (window-parent)) ((windowp frame-or-window) frame-or-window) (t (window-main-window frame-or-window))))) (window--transpose window '(above . right) t))) (defun transpose-windows (&optional subtree frame-or-window) "Transpose windows of FRAME-OR-WINDOW. Rearrange windows such that where a horizontal split was used a vertical one is used instead, and vice versa. FRAME-OR-WINDOW must be a valid frame or window and defaults to the selected frame. If FRAME-OR-WINDOW is a frame, transpose the main window of the frame, otherwise transpose FRAME-OR-WINDOW. If SUBTREE is non-nil, the function will act as if FRAME-OR-WINDOW is the parent window of the selected window." (interactive "P") (let ((window (cond (subtree (window-parent)) ((windowp frame-or-window) frame-or-window) (t (window-main-window frame-or-window))))) (window--transpose window '(right . below) nil))) (defun deepmap(fun ls) (if (consp ls) (cons (if (consp (car ls)) (deepmap fun (car ls)) (funcall fun (car ls))) (deepmap fun (cdr ls))) (funcall fun ls))) ;; TODO: dedicated windows =F0=9F=98=84 (defun cycle-windows (&optional subtree frame-or-window) "This cycles windows basiclly so that for all windows, each window becomes it's `other-window'. +-----+ +-----+ | A | | C | |-----| -> |-----| |B | C| | A| B| +-----+ +-----+ " (interactive "P") (let ((window (cond (subtree (window-parent)) ((windowp frame-or-window) frame-or-window) (t (window-main-window frame-or-window))))) (if (or (not window) (window-live-p window)) (message "No windows to transpose") (let* ((frame (window-frame window)) (selwin (frame-selected-window window)) (win-tree (car (window-tree-pixel-sizes window))) (winls (seq-filter 'window-live-p (flatten-list win-tree))) (rotated-ls (append (last winls) winls)) (fwin (car (last winls))) (new-win-tree (deepmap (lambda (x) (if (window-live-p x) (pop rotated-ls) x)) win-tree))) (if (or (seq-some 'window-atom-root winls) (seq-some 'window-fixed-size-p winls)) (message "This does not work with fixed size or atom windows.") (progn ;; All child windows need to be recursively deleted. (delete-other-windows-internal fwin window) ;; (delete-dups atom-windows) (window--transpose-1 new-win-tree fwin '(below . right) t nil) (set-frame-selected-window frame selwin) (other-window -1))))))) (defun window--transpose (window conf do-not-convert-size) "Rearrange windows of WINDOW recursively. CONF should be a cons cell: (HORIZONTAL-SPLIT . VERTICAL-SPLIT) where HORIZONTAL-SPLIT will be used as the third argument of `split-window' when splitting a window that was previously horizontally split, and VERTICAL-SPLIT as third argument of `split-window' for a window that was previously vertically split. If DO-NOT-CONVERT-SIZE non-nil, the size argument of the window-split is converted from vertical to horizontal or vice versa, with the same proportion of the total split." (if (or (not window) (window-live-p window)) (message "No windows to transpose") (let* ((frame (window-frame window)) (fwin window) (selwin (frame-selected-window window)) (win-tree (car (window-tree-pixel-sizes window))) (win-list (seq-filter 'window-live-p (flatten-list win-tree))) (atom-windows (remq nil (mapcar 'window-atom-root win-list)))) (if (and (not (eq (car atom-windows) window)) (or do-not-convert-size (and (not atom-windows) (not (seq-some 'window-fixed-size-p win-list))))) (progn (when atom-windows (delete-dups atom-windows)) (while (not (window-live-p fwin)) (setq fwin (window-child fwin))) ;; All child windows need to be recursively deleted. (delete-other-windows-internal fwin window) (window--transpose-1 win-tree fwin conf do-not-convert-size atom-windo= ws) ;; Go back to previously selected window. (set-frame-selected-window frame selwin)) (message "This does not work with fixed size or atom windows."))))) (define-key global-map (kbd "C-x w t") 'transpose-windows) (define-key global-map (kbd "C-x w c") 'cycle-windows) (defun window--transpose-1 (subtree cwin conf do-not-convert-size atom-wind= ows) "Subroutine of `window--transpose'. SUBTREE must be in the format of the result of `window-tree-pixel-sizes'. CWIN is the current window through which the window splits are made. The CONF and DO-NOT-CONVERT-SIZE arguments are the same as the ones in `window--transpose'." ;; `ilen' is the max size a window could be of given the split type. ;; `flen' is max size the window could be converted to the opposite ;; of the given split type. (let ((n-set t) (flen (if (funcall (if do-not-convert-size 'not 'identity) (caar subtree)) (float (window-pixel-width cwin)) (float (window-pixel-height cwin))))) (mapc (pcase-lambda (`(,win . ,size)) (prog1 (let ((split-size (- (round (* flen size)))) (split-type (funcall (if (caar subtree) 'car 'cdr) conf))) (if (listp win) ;; `win' is a window subtree. (let* ((d-win win) (is-atom (memq (cdar d-win) atom-windows)) (_ (while (listp (caaddr d-win)) (setq d-win (caddr d-win))))) (window--transpose-1 win (let ((window-combination-limit n-set) (new-win (split-window cwin split-size split-type t (if window-combination-limit (cons (caaddr d-win) (cdar subtree)) (caaddr d-win))))) (when window-combination-limit (set-window-combination-limit (cdar subtree) nil)) new-win) (if is-atom '(nil . t) conf) do-not-convert-size atom-windows)) ;; `win' is a window. (split-window cwin split-size split-type t (if n-set (cons win (cdar subtree)) win)))) (setq n-set nil))) (mapcar (lambda (e) (let ((window? (if (windowp (car e)) (car e) e))) (cons window? ;; The respective size of the window. (if (caar subtree) (car (cadr e)) (cdr (cadr e)))))) ;; By using cdddr, we ignore window split type, sizes and the ;; first window (it's implicitly created). (nreverse (cdddr subtree)))) ;; (caaddr subtree) is the first window. (unless (windowp (caaddr subtree)) (let ((is-atom (memq (cdar (caddr subtree)) atom-windows))) (window--transpose-1 (caddr subtree) cwin (if is-atom '(nil . t) conf) do-not-convert-size atom-windows))))) (pp (window-tree-pixel-sizes (window-parent))) --=-=-=--