Comment by ndr
1 day ago
I gave up on it once I discovered https://zellij.dev/
Just even for how tab and panes are setup, and how it's good for scrolling and text selection with your mouse for copy pasting.
1 day ago
I gave up on it once I discovered https://zellij.dev/
Just even for how tab and panes are setup, and how it's good for scrolling and text selection with your mouse for copy pasting.
<button type="button" class="download-hover" onclick="location.href='https://github.com/zellij-org/zellij/releases/latest/downloa...'"> linux download </button>
Screaming into the void, I guess, but PSA. Don't use buttons for links. In my case, I couldn't right-click and copy the URL, but there are a lot of other reasons not to do this.
It also breaks a lot of a11y tooling. It really helps a lot of people when developers care about semantic html.
I personally suggest web devs to install axe devtools [0] in their dev browser profile. Also, LLMs have gotten to the point that even the small local models can help a lot [1].
[0]: https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/
[1]: Gemma 4: https://pastebin.com/Mjm1Vx4C
Whether this should be a button or link from an A11Y perspective is... kind of up in the air.
There's an argument that links are "portals" that take you somewhere, while buttons cause some action to happen, Whether you treat a file as a resource (which your browser just chooses to save on disk instead of rendering on screen), or whether you treat it as an explicit "download" action, is a matter of semantics I guess.
<a href='...' download>...</a>
The only (deal breaker for me ) weakness of zellij - doesn't support copy/paste from the keyboard (from the screen/scrollback) and doesn't support multiple copy/paste buffers.
I do that roughly every 60-90 seconds with tmux - so, until the zellij developers relent (they suggest the "proper way" of copy paste is to pipe the data into a text editor and use that - but has the downside of not supporting system copy-paste buffers.) - no options other than to stick with tmux (or fork zellij - but that seems a bit much....)
Zellij has some controls for how copy/paste is handled. Perhops these could help you in the future? Link: https://zellij.dev/documentation/options.html#copy_command
It does - and we spent an hour or so reading through the code and affordances to see if there might be a possible path.
The general response is that this user behavior, selecting/copying/saving-in-named-buffer is a very "tmux" like usage pattern the Zellij authors don't want to encourage in Zellij. Instead -they suggesting bringing your preferred Text Editor (emacs, vim, etc...) and doing the select / copy /paste in that.
The problems for me are - (A) I know how to select/copy/paste very well in tmux. Don't have the faintest clue how it's done in a text editor, (B) No (easy) ability to have multiple named buffers if you use a text editor, etc...
I summarized them here: https://github.com/zellij-org/zellij/issues/947#issuecomment...
1 reply →
I have a few embedded devices where flash space is limited. tmux is so much smaller than zellij, and it's not even close.
Zellij is close to 50 megabytes, but tmux and all dependent libraries (minus libc, it's always there) is about 2 megabytes.
Screen is only 280Kb (armv7), statically compiled with curses. That's about 6-9 times smaller compared to tmux.
> Zellij is close to 50 megabytes,
That's a Rust thing. It's what happens when you statically link because you monomorphise everything.
One of the reasons I went Zig for now
I have been using zmx for the last 2 weeks. It's still a bit buggy (screen repainting) but quite pleasant to use with ghostty.
https://github.com/neurosnap/zmx
Thanks! Interesting to read the rationale behind it [0] which in short is, try not to use what is basically a terminal emulator within a terminal emulator, and window management should be done by the terminal emulator. I primarily use tmux for session persistence (in ssh sessions) anyhow, and still default to my muscle memory for new tabs/windows in the window manager. I haven't tried it yet. The proof of the pudding will be in eating it I suppose.
[0]: https://bower.sh/you-might-not-need-tmux
Thanks for the report, I heard about it recently and was wondering how buggy it was since it's very new. I'll probably still try it soon.
I did the same, however, I recently switched back because zellij has just gotten too annoyingly bloated. I ended up on tmuxp to build my tmux session and autossh to keep me connected to my various ssh sessions and am much happier.
Once I discovered window managers and graphics, I stopped using half-baked features to emulate them in the terminal.
I use tmux to reattach to programs after the network connection dies, and not really anything else. I would welcome a version of it that stripped out everything but that, and just replayed the last few pages of scrollback on reattach.
Using mosh would help specifically with the network reconnection piece.
I use iTerm2 with tmux CC mode. Works great and gives native tabs and panes.
I use tmux for everything because I work in a headless VM where a WM isn't available.
I ssh in multiple times. If I really needed to, I suppose I could use vnc.
You don't have a window manager hosting the terminal window on your host OS? That's the argument being made here, you're already in some kind of tiling or windowed environment, why replicate all of that on the remote?
2 replies →
I'm in the same boat and https://github.com/neurosnap/zmx has been working very well for me.
> I would welcome a version of it that stripped out everything but that, and just replayed the last few pages of scrollback on reattach.
Like `dtach`?
Thanks. Dtach is definitely closer to what I want than tmux, I'll be trying it out this week.
Check out shpool, whose tagline is "Think tmux, then aim... lower" :-)
https://github.com/shell-pool/shpool
Unless I'm misreading this, I would also offer `mosh` as a recommendation. Has been nothing but excellent for my use cases.
zmosh is zmx+mosh
https://github.com/mmonad/zmosh
window manager like what though?
Mac WM is horrible, I use aerospace to make it tolerable
i3, dwm, hyprland etc...
100%. Tmux didn’t click for me but Zellij did within 5 minutes. Lifelong Vim user so it felt a lot more familiar.
I really don't like tools that are not distributed via official package managers like apt / apk.
Cool, I'm one of the lucky ten thousand today. Thanks.
Context: https://xkcd.com/1053/
Then, if you're like me and read this years ago, play around with the Light Mode dropdown which was new to me. :)
> play around with the Light Mode dropdown which was new to me. :)
It's this year's April Fools' joke: https://xkcd.com/3227/ :P
I tried zellij and it feels like its ui was designed by someone raised in the world of blade runner 2049
Last time I tried zellij, a bunch of the default keybinds conflicted with default commands, or maybe vim commands, I can't remember. But the "solution" back then was constantly jumping in and out of "locked" mode, where no zellij keybindings except unlock work.
Didn't seem worth it, considering the giant footprint in comparison to tmux.
Just use byobu, zellij does weird things, byobu just uses tmux (or screen) and has a sane mouse TUI
Zellij still can't hide/show the status bar on the fly[1] and doesn't support windows preview in the windows list mode. Just these two (and many more) things are enough to stop me from migrating from tmux.
[1] https://github.com/zellij-org/zellij/issues/694
You can't rebind plugin maps, so the session picker uses my preferred unlock chord to create a session. Dev had no interest in changing that.
Tried it. It’s certainly prettier and has a few unique features but a number of corner cases I depend on in tmux simply don’t work so back I went
Also, can’t really stand the name.
I tried tmux so many times, could not commit the sequences to memory, but then zellij was just out of the gate, easy to "discover," and then I started writing plugins (rust wasm), and I even submitted a PR which got accepted to support background colors in panes/tabs.
I am a monthly donor, I think it has the right balance of community plus the lead dev has a vision, opinionated but open to inputs, and focused.
> could not commit the sequences to memory
First thing I did was customize all the input commands and configuration with LLM assistance. Smooth as butter.
I used tmux for a few years, until one day I discovered Zellij. With its significantly better UI and overall user experience, I was instantly convinced.
This comment would be a lot more convincing if it weren't in response to one expressing the same sentiment :-)
It is actually true though, I only use tmux nowadays when I am SSHed into a server that I need to do some work on.
The only issues I've had with it is that sometimes it's hot keys conflict with vim, but you can easily turn it temporarily off with ctrl+ g.
If you're already used to tmux I'm not sure you would benefit much from changing, but it definitely has a better out of the box with pane hints, names, and more user friendly hot keys.
2 replies →
i tried both and i honestly... i didn't see anything different.
i want tmux for three things:
1. easy splits
2. easy scrollback
3. being able to restart a session if my terminal dies
given all that, tmux works exactly as expected.
what are all these "significantly better ui and overall ux"?
There's a number of people who effectively use tmux as their window manager - one terminal window doing literally everything. Locally as well as remotely, but it's more... understandable for remote, where other options are often worse or nonexistent.
For them, there's as much variety of desires as for any other window manager, and there are tons of those. But terminal ones are usually significantly easier to configure in wild ways due to having fewer (but more powerful) knobs to tweak, so a fair number choose just one and configure the heck out of it.
My terminal (terminator) does (2) and the "easy" scrollback on tmux messes up the ability to scroll with the mouse, at least with default settings. I just tried it in zellij and that doesn't. Since I'm only using a multiplexor for (3) and zellij does that too, I'm already inclined to switch.
I know I'd get used to them, but the key combos used by tmux seem very odd choices, even to someone who used to code on a real glass tty!
Can you use zellij over ssh on a remote server?
Yes you can!
3 replies →
Same here. I bounced off it a few times because KDE konsole already had built in tab/pane support but once I picked up neovim the key chords for triggering actions just made so much sense compared to the static key binds of Console that I just started using Zellij for tabs and panes within Console.
This sentiment seems to be shared widely. Is there a good conversion guide for tmux users?
I tried zellij a couple of years ago when it first got popular and it didn't click for me.
https://zellij.dev/screencasts/
has some starting links, if screencasts do it for you
For me the only glitch was some key binding collision with ghostty/aerospace but it works perfectly out of the box on alacritty for me
Tried it when it came out on mac and it was super glitchy so I gave up. Also usally tmux is useful when I ssh
If anyone is looking for a slightly higher level management of persistent sessions, we just launched https://haventerminal.com for Mac
I prefer smux.dev