Nova and Zellij
Nova uses Zellij as the multiplexer. Tabs, stacked panes, floating panes, layouts, and the plugin API are Zellij. Yazelix ships a default layout, keys, plugins, and yzx around that. Nova builds its own yzx-zellij from pinned upstream Zellij, as described below.
Zellij
Section titled “Zellij”Upstream Zellij owns multiplexing: tabs, tiled and stacked panes, floating panes, sessions, layouts, and plugins. Rounded pane corners, pane frames, and swap layouts are Zellij settings. Nova’s default workspace uses those surfaces.
Yazelix around Zellij
Section titled “Yazelix around Zellij”The product shape around the multiplexer lives in packages, layout, and plugins:
| Piece | Owns |
|---|---|
| Packaged layout and keys | Radar-default sidebar, quick zoxide search before startup Yazi, stacked work panes, wrapping work-pane focus and movement, popup chords |
| Zellij Pane Orchestrator | Tab-local workspace roots, focus, sidebar, editor, and popup routing |
| Zellij Popup | Git, agent, Ratconfig, Yazi, and other floating TUIs |
| Yazelix Radar | Sidebar session, pane, command, and agent-activity presentation |
| Nova Bar | Top bar tabs, modes, session details, and status widgets |
nova-zjhints |
Bottom key-hint row, toggled with Alt Shift B |
yzx and Ratconfig |
Launch, enter, read-only diagnostics, and live config |
Ratconfig can change a Zellij setting while a session runs. The popup is Yazelix. The value it writes, such as rounded corners, is still Zellij.
Nova’s Zellij build
Section titled “Nova’s Zellij build”Nova builds yzx-zellij from unreleased upstream Zellij main at 333d7898. The
build embeds Nova Bar, Radar, the popup, the pane orchestrator, and
nova-zjhints, so the built-in plugins need no permission cache entries.
Sessions from the earlier Zellij binary stay separate.
Zellij carries two small patches. One keeps startup callbacks for background
plugins until the first client connects. The other sends a command-line pipe
payload once, so Nova’s helpers get a single reply. The bottom bar,
nova-zjhints, is zjhints v0.5.0 with Nova patches for modifier grouping and
lighter event handling. It replaces Zellij’s native status bar. The pin,
patches, and removal conditions live in the Nova Zellij distribution notes.