Skip to content

Nova and Zellij

Nova uses Zellij 0.46 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. The Nova Zellij fork keeps the pinned upstream Zellij base and adds the runtime seams listed here.

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
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 Zellij starts from upstream Zellij 0.46 and uses its native Kitty direct-placement path. The fork retains focused fixes for Yazi image correctness alongside the runtime seams below.

Upstream’s explicit_theme_hue and native theme actions own startup appearance. The remaining Yazelix delta is deliberately narrow:

Delta Role
Three-island status hints The native status bar groups mode actions by their real modifiers, so Ctrl-Alt stays distinct from Ctrl and Alt
Isolated plugin permission cache yzx can pre-grant packaged plugins, including Radar, without touching standalone Zellij’s global cache
Sixel replacement cleanup Covered and erased rasters are retired without reusing a live image ID
Kitty crop and resize correctness Distinct source crops keep their pixels, and cell-size changes rebuild scaled rasters
Bounded Unix session probes An unresponsive session socket cannot block session listing indefinitely
Named tiled-layout selection Plugins can select an exact tiled layout without hiding or refocusing floating panes
Straight border style Nova can select single or double straight pane borders; native rounded corners take precedence
Stable stacked-pane identity Stack order survives focus, close, and the sidebar swap layout
Replacement-client plugin cleanup A replacement client gets a fresh ID, disconnected plugin instances retire, and a new background subscription receives its own initial pane and tab state. The fork carries this from upstream pull request 5272

Three-island hints change Zellij’s native status bar. Nova Bar is a separate plugin for the top bar. Image-preview coverage, removal conditions, and the pinned upstream base live in the Nova Zellij fork notes.