Skip to content

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.

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.

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 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.