What Zellij Does
- Panes — horizontal, vertical, floating
- Tabs — named, reorderable
- Sessions — persist across detach/reattach
- Layouts — KDL-based declarative layouts
- Floating panes — overlay panes
- Plugin system — WebAssembly plugins (WASI)
- Session manager — built-in session picker
- Discoverable UI — mode indicators and key hints at bottom
- Copy mode — search and select text
- Themes — built-in themes
Architecture
Rust binary using crossterm for terminal rendering. Plugins run as WASM modules (WASI), isolated and sandboxed. Each pane is a separate PTY process. State is serialized for session persistence.
Comparison
| Multiplexer | Language | Defaults | Plugins |
|---|---|---|---|
| Zellij | Rust | Discoverable | WASM |
| tmux | C | Cryptic | Shell |
| screen | C | Basic | None |
| Byobu | tmux wrapper | Simplified | tmux |
FAQ
Q: Zellij vs tmux? A: Zellij works out of the box (beginner-friendly, discoverable UI, floating panes); tmux is more mature (stable server, larger community, deeper customization). Both work, but Zellij is 10x easier to pick up.
Q: Can it be used with Alacritty? A: A perfect match. Alacritty (minimal terminal) + Zellij (pane management) is a golden combo for many developers.
Q: Does it support SSH?
A: Run Zellij inside an SSH session. After disconnecting, zellij attach restores it.
Sources
- Docs: https://zellij.dev/documentation
- GitHub: https://github.com/zellij-org/zellij
- License: MIT