-
-
Notifications
You must be signed in to change notification settings - Fork 805
feat(ui): stacked resize #3957
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(ui): stacked resize #3957
Conversation
Hey @har7an - I wonder if you could lend me a hand here? It seems to me as if we're somehow taking the version from main rather than from this branch. This happened even before I merged your changes from main (and also happens after as we can see). I don't know if this is somehow related to the recent work you did... but I wonder if you have any tips? |
What an amazing feature!
That sounds highly suspicious to me.
Off the top of my head: Unfortunately not. I'm not familiar with other projects that had the same issues in the past. I suspect it's something to do with caching (that "Cachix" thingy cropping up everywhere), as a workaround you can try changing: - name: Setup toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
rustflags: "" to - name: Setup toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
cache: false
rustflags: "" inside |
For some reason I don't understand:
This looks like a very interesting problem indeed. I'll have another look tomorrow. |
Thank you @har7an - I really appreciate it! Let me know if you want me to jump in so we can put our heads together. |
Hey @imsnif, I think I sort of solved the puzzle. Here's the failure from CI: and I get the exact same error when trying to build locally. But you said:
I had a look at So the diff to fix your error should be: diff --git (-)/zellij-utils/src/pane_size.rs (+)/zellij-utils/src/pane_size.rs
index c86eaba2..d337e9ac 100644
--- (-)/zellij-utils/src/pane_size.rs
+++ (+)/zellij-utils/src/pane_size.rs
@@ -40,7 +40,7 @@ impl std::hash::Hash for PaneGeom {
self.y.hash(state);
self.rows.hash(state);
self.cols.hash(state);
- self.is_stacked.hash(state);
+ self.stacked.hash(state);
}
} and I think you can undo that "do not cache CI stuff" commit again. :) |
|
I swear to you, I looked at that file 7 times both on Github and on my PC and it wasn't there. Either git voodoo or me just working too many hours. :) Thanks for the second pair of eyes. |
2025-01-27.17-22-34.mp4
This changes the default Zellij resize algorithm to a new one called "stacked resize". It is demonstrated in the short video above.
In a gist:
Alt -
) Zellij will break out a pane from this stack.Alt n
, if the swap layouts are dirty (the swap layout indication, by default on the upper right, is not lighted), Zellij will attempt to split the currently focused pane. If it is a stack, Zellij will add a pane to this stack.Ctrl p
+r
orCtrl p
+d
), Zellij will now split the whole stack in this direction as if it were a normal pane.This new resize algorithm can be opted-out of by specifying
stacked_resize false
in the config (can also be updated at runtime).