My dream workspace is a real browser (with all dev tools), with integrated terminal emulator and integrated editor. Editor plugins could be prototyped with web technology and debugged on the fly (like Obsidian plugins). Is there anything like this?
Is there improved guidance on migrating from tmux to zellij?
I've attempted to move over a few times, and while this is certainly user skill, it just felt too different from screen/tmux. Perhaps I should bite the bullet and force myself to get used to a new paradigm...
I was confused by its plugins. Despite reading docs over a few days I still have no idea what does runtime for plugins look like, does zellij download them once? on each server start? on each plugin call? and since some features like a switching to a session from another session without spawning child zellij process is available only as plugin, that adds up the confusion, like am I hitting github every time when I switch sessions?
I didn't manage to find a way to update existing session layout when the layout config changed, only to recreate it, which is super boresome when you tinkering with plugin config that is embedded in layout config.
Resurrected sessions needs to be restored manually via somewhat lagging session manager, there's no cli api for that, in general when you need something to be done in another session, you can't.
The only good built-in feature I found is stacking layout showing running command in pane, but I delegate it to tabs in niri now.
Overall I would say if you're long time tmux user, switching to zellij isn't worth it. If you're new to concept of terminal emulators, zellij is much more friendlier, and I'm sure plugins would mature, docs would improve.
I don't understand the idea to make everything terminal-centric. It should be one component of all the tools available to the programmer.
All text editors worth using have a way to open a terminal for that one time you need it, everything else should be a GUI (with all the advantages that come with it).
An endorsement: I freaking love Zellij. I mainly use it like one might use Tmux, to keep remote sessions alive so I can reconnect to them from another host than where I began the session:
* Ssh in to myserver.cloud from my laptop. Run Zellij. Fire off various long-running processes in multiple tabs.
* On my commute home, ssh in from my phone, run `zellij attach`, and check on the status of those processes.
* Once home, ssh in from my desktop, run `zellij attach`, and continue where I left off earlier.
Tmux is nice, but Zellij fits my brain a lot better. Plus, it has a lot of UI affordances to discover features without me having to memorize keystrokes. I use these kinds of tools often enough to care about them, but not so often or in such depth that I'm any kind of a power user. There are certain things I do so rarely in Tmux that I have to look up the manual every single time I do them. With Zellij, I don't have to.
Neat. Any idea how well it runs on the linux console, or fbterm perhaps? Maybe there is a better fbterm by now, remember it being a bit lacking as well.
The landing page does a bad job at explaining what it is, same with the first page of the documentation.
I get it from the other comments that it's a terminal multiplexer, and considered an alternative to tmux. But tmux and screen are well established, and should take the opportunity to explain in what way it is different from those.
Most of the time, my need for terminal multiplexers are accommodated by tiling window managers and workspaces. When I do use Zellij, it's when I'm on my laptop and no sockets are nearby. Then I boot onto console and use Zellij for the scroll, split panes, and session management. A replacement for the desktop if you will. Quite handy.
15 comments
[ 3.9 ms ] story [ 36.0 ms ] threadI've attempted to move over a few times, and while this is certainly user skill, it just felt too different from screen/tmux. Perhaps I should bite the bullet and force myself to get used to a new paradigm...
I didn't manage to find a way to update existing session layout when the layout config changed, only to recreate it, which is super boresome when you tinkering with plugin config that is embedded in layout config.
Resurrected sessions needs to be restored manually via somewhat lagging session manager, there's no cli api for that, in general when you need something to be done in another session, you can't.
The only good built-in feature I found is stacking layout showing running command in pane, but I delegate it to tabs in niri now.
Overall I would say if you're long time tmux user, switching to zellij isn't worth it. If you're new to concept of terminal emulators, zellij is much more friendlier, and I'm sure plugins would mature, docs would improve.
All text editors worth using have a way to open a terminal for that one time you need it, everything else should be a GUI (with all the advantages that come with it).
Can anyone help me learn why this over, say, kitty?
like this:
tmux send-keys -t 0:1.1 "ls" Enter
edit: well, yes, you can:
zellij action write-chars ls
zellij action write 10
* Ssh in to myserver.cloud from my laptop. Run Zellij. Fire off various long-running processes in multiple tabs.
* On my commute home, ssh in from my phone, run `zellij attach`, and check on the status of those processes.
* Once home, ssh in from my desktop, run `zellij attach`, and continue where I left off earlier.
Tmux is nice, but Zellij fits my brain a lot better. Plus, it has a lot of UI affordances to discover features without me having to memorize keystrokes. I use these kinds of tools often enough to care about them, but not so often or in such depth that I'm any kind of a power user. There are certain things I do so rarely in Tmux that I have to look up the manual every single time I do them. With Zellij, I don't have to.
I get it from the other comments that it's a terminal multiplexer, and considered an alternative to tmux. But tmux and screen are well established, and should take the opportunity to explain in what way it is different from those.
Can anyone tell me what this is and why it might be useful?