Because it's not immediately obvious, Zellij is a terminal multiplexer like tmux or GNU screen, whose distinguishing feature is that it comes with more built-in functionality, has a more discoverable UI, and a more opinionated/modern default configuration while still being highly customizable (as demonstrated in the OP).<p><a href="https://github.com/zellij-org/zellij">https://github.com/zellij-org/zellij</a>
Hijacking this for a question I've been wondering about. For context, I'm a long-time tmux user who spends 90% of my time in remote shells.<p>Ideally, I'd have my WM handle panes, layouts, etc. "Terminal multiplexing" seems to me to be misplacing client/UI concerns. Session persistence is the concern of the server, and multiplexing should be handled by ssh. However, getting the client terminals to coordinate nicely (e.g. reattaching to the appropriate sessions, opening new terminals in the same remote working directory) require more sophisticated clients than exist currently (to my knowledge).<p>Does anyone feel similarly? Anyone have a setup that approximates what I'm looking for?
Awesome! I will be sold forever when something similar to tmux ressurect is available.<p>Also I want to point out the way this is being handled in GH issue 575.<p>It's taking time, but the politeness of many people, specially @imsnif is out of this world.<p>This will be killer and it's ready, because one can freely create the tabs and panes designs while working, then dumping and customizing more later.<p>I'm learning rust myself now, and projects and people like this encourages me even more. (Even with the rust foundation issues that happened)<p>Thanks all!
I was checking it like a year ago and it was cool but lacked some functionalities that i relied on daily basis (in comparison with tmux). I'm sure that some of those could be already implemented but plugins could probably fulfill rest of those.<p>For sure i see need for some kind of plugin "package manager" here.
on one hand this would help with discoverability of plugins, but more importantly with updates. checking each of plugin every so often isn't convinient and in such systems i usually check once or twice a year if there is any update.
Big fan of Zellij!<p>Here are my configs for anyone interested — more modal than the default: <a href="https://gist.github.com/max-sixty/6be7225ddc0a9cecb7203d5f7fb4c8d3" rel="nofollow noreferrer">https://gist.github.com/max-sixty/6be7225ddc0a9cecb7203d5f7f...</a>
It seems odd to distinguish between a plugin and a program running in a terminal pane. This seems to imply you must reimplement all such functionality as a new plugin, instead of just running your preferred tool, as usual, in a terminal window.<p>For example, they have implemented a file explorer as a plugin. But this means you can only use it when Zellij is available, and not as a standard tool on another system. This reduces flexibility and means you need different tools in different contexts.<p>I'd love to be corrected, but I can't think of any good reason why a special file explorer needs to exist, just to be coded to this plugin standard, instead of as a normal terminal program.
I tried Zellij a while ago (year+?) and wasn’t a huge fan. After some major updates I tried it again and it’s become my daily driver.<p>Great application and I’m looking forward to seeing the plugin ecosystem grow. Thanks to the maintainers and contributors for their work.
It looks pretty cool. Is there a plugin that is just "convert this program into a plugin"? i.e. say I'm doing some networking set up and I want to check whether what I'm doing is improving or reducing effective performance. I would like:<p>1. One pane with my UDP benchmark between two of my machines<p>2. One pane with my UDP benchmark between two other machines<p>3. One pane which is a normal terminal where I'm going to make my changes<p>So what I'd do is make my changes in normal terminal, then switch over to #1 and hit Enter and it runs, then switch over to #2 and it runs. I don't want to write a specific plugin for my UDP benchmark tool. I want a plugin that takes a pre-baked command (with flags and arguments) and turns it into a pane that I can just switch to and hit Enter.<p>Honestly, I currently use a tiling terminal emulator (iTerm2) and it's not bad, but I have to hit Up+Enter and then that's overlapping with the history of whatever shell is on that machine.
More interested in when they'll implement concurrent, switchable sessions, one of the main reasons one would continue to use tmux, but this is nice development
And for those who are tmux users, zellij can be configured to be more space efficient, ie reduce borders to a single line. There are even tmux bindings.<p>I've since grown fond of zellij's locked mode which hides all keybindings behind a Ctrl+G toggle. That behaves more like vim modes than the awkward Ctrl+B in tmux.
Very cool! As a wasm fan, I'm excited to see this and really appreciate the detailed write-up. As a maintainer of Extism[0] (a wasm plugin system framework) I'm curious if our project came up in your research for this, and if so, what is missing or kept you from considering it as a solution?<p><a href="https://github.com/extism/extism">https://github.com/extism/extism</a>
It's great to see more use cases of Wasmer [1] out there. I'm excited for what's coming next on this front :)<p>[1] <a href="https://wasmer.io/">https://wasmer.io/</a>
Is Zellij in the same realm / in competition with Warp terminal?<p><a href="https://www.warp.dev/" rel="nofollow noreferrer">https://www.warp.dev/</a>