Dynamic pane management #2409
Replies: 4 comments 4 replies
-
hey @cyruseuros - I personally do not know dvtm and have never used it. Could you please explain in a little bit more detail what you're after? Sort of a run-down for people like me who have no reference? |
Beta Was this translation helpful? Give feedback.
-
Sure thing, dvtm is inspired by dwm. It's a dynamic window manager (akin to zellij swap layouts) as opposed to a manual window manager (i.e. you don't have to say things like split left/right/bottom, the layout has that logic built-in). To quote the docs:
The zellij stacking layout (minimizing all windows but the "main" one on the stack is a common tweak introduced by tiling WMs that implement this layout. Another unique feature is that
Meaning that you can have the same window in multiple tabs. It's a pretty flexible model that reflects the internal algo, and it would make implementing #1750 a breeze. Because the tiling algo focuses on what you want done (focus on something, have a reference thing, make focus thing more prominent) as opposed to how you want it done (split window left/right etc.) the number of commands you need for everyday use is very small, so being limited to a single prefix key doesn't actually feel limiting (unlike, say tmux) - which is why I think it'll be more than fine as a single mode. |
Beta Was this translation helpful? Give feedback.
-
Thanks for the explanation @cyruseuros - I really like this approach. In fact, somewhere in the back of my mind I am considering similar approaches as a way to solve our (out of the box) colliding keybindings problem. I think the way I'd like to look at this now is to implement all the small features (eg. there's an open PR for looping focus in all directions, and I hope to get time to work on moving a pane to a new tab soon) and allow users to configure this sort of behavior for themselves rather than including it as a separate mode. The only thing I'm not clear about here is the "master" pane behavior you mentioned. How is it set? Dynamically at runtime, or? |
Beta Was this translation helpful? Give feedback.
-
Side question, are there tiny things I could help with in this endeavor (or whatever alternative approach you choose to take)? I've only writen toy programs in rust so I'll probably be slow, but I'm happy to chip in any way I can. |
Beta Was this translation helpful? Give feedback.
-
I realize this is somewhat of a niche request and zellij has been serving me quite well as-is recently, however I don't think it would be very large in scope, and there is interest out there (martanne/dvtm#10 (comment)).
From what I can tell all that would be necessary to implement a full dwm/dvtm emulation mode is:
MoveFocus "Up"
/MoveFocus "Down"
loop around or implementMoveFocus "Next"
/MoveFocus "Previous"
The tagging feature for tabs would also be nice, but #1750 would need to be implemented first.
Beta Was this translation helpful? Give feedback.
All reactions