iTerm2 has a feature where it can display tmux tabs as native tabs [0] which is called tmux control mode [1] (most other terminal emulators haven't picked up this feature [2], but I wish they did).
Would it make sense for Zellij to also support the tmux control mode protocol, and interoperate with terminal emulators that support it?
Another thing (less ambitious): is it possible to have an option to integrate with native scrolling? Like shpool [3] does. I suppose it's not possible to enable it by default since it has a frame around the session, but maybe this frame could be disabled if I want native scrolling back? Native scrolling helps mainly with navigating by clicking on the native scrollbar that most terminal emulators have (mouse scrolling works on Zellij though, which is very cool).
For 2 - I think this can be achieved with scroll vertical/horizontal scroll regions (which should also boost performance a bit). I hope to implement this in the future.
Very very much so. The project also includes separate binary releases with this feature compiled out altogether, but I'd much rather this sort of feature was never ideated or acted upon in this first place.
Generally speaking I don't want a terminal multiplexer to be doing network IO of any sort, so I also didn't love it when they shipped "load WASM plugins from a non-checksummed arbitrary URL via your config file" in a previous release.
iTerm2 has a feature where it can display tmux tabs as native tabs [0] which is called tmux control mode [1] (most other terminal emulators haven't picked up this feature [2], but I wish they did).
Would it make sense for Zellij to also support the tmux control mode protocol, and interoperate with terminal emulators that support it?
Another thing (less ambitious): is it possible to have an option to integrate with native scrolling? Like shpool [3] does. I suppose it's not possible to enable it by default since it has a frame around the session, but maybe this frame could be disabled if I want native scrolling back? Native scrolling helps mainly with navigating by clicking on the native scrollbar that most terminal emulators have (mouse scrolling works on Zellij though, which is very cool).
[0] https://iterm2.com/documentation-tmux-integration.html
[1] https://github.com/tmux/tmux/wiki/Control-Mode
[2] https://unix.stackexchange.com/questions/189805/what-termina...
[3] https://github.com/shell-pool/shpool
For 1 - there's actually a nice proposal from WezTerm to make this an all-purpose general protocol that I hope happens: https://github.com/wezterm/wezterm/discussions/4889
For 2 - I think this can be achieved with scroll vertical/horizontal scroll regions (which should also boost performance a bit). I hope to implement this in the future.
Does anyone else feel uneasy about a terminal extending your desktop/server’s exposure beyond its current attack surface?
Very very much so. The project also includes separate binary releases with this feature compiled out altogether, but I'd much rather this sort of feature was never ideated or acted upon in this first place.
Generally speaking I don't want a terminal multiplexer to be doing network IO of any sort, so I also didn't love it when they shipped "load WASM plugins from a non-checksummed arbitrary URL via your config file" in a previous release.
Hi all, I'm the author of this article. Happy to answer any questions.
Can I use this as an alternative to VibeTunnel? Throw this up on a server and control remote SSH sessions of Claude Code over Tailscale?
Yes! With built in authentication.
Not a question, but Zellij is awesome! This looks like a great new feature, too. :)
was working on something similar to this last week, but i ended up going with SSE instead of websockets for the control channel.
the goal was to use webauthn to authenticate ssh sessions from the browser with a charm/wish ssh app backend.
This looks really nice, too bad I can't use it because my company blocks websockets.
If you have any sort of VPN into the target machine (ssh+port-forwarding, Wireguard, etc) no websocket would be visible on the network.
Total inspiration, thanks bud.