Shared Tab State in the Mux Server
Nash 0.11.9 moves more tab state into the mux server. A tab's color, order, tab-scoped Zen flag, and active pane belong to the server rather than one attached GUI. Changes reach other attached clients and survive detach and reattach while that server keeps running.
Some state deliberately stays GUI-local, and upgrading the server still stops its processes.
Share the Arrangement, Not Every GUI Preference
Tab dragging, MoveTab, MoveTabRelative, and New Tab to the Right update the
server's order. In a window mixing local and mux tabs, only mux tabs participate
in that order; other domains' tabs keep their slots. Tmux control-mode domains
do not gain tab-order support.
A fresh attach starts on the server's active tab in each window; later resyncs do not reset your selection. Lua tab activation and task focus restoration also reach the server.
Global Zen Mode and Back/Forward tab history remain GUI-local. History starts empty on attach. The tab's Zen flag is shared, but each GUI still chooses its own Zen scope and dimming preferences.
Move Running Work Without Recreating It
MoveTabToNewWindow now moves the existing server tab and panes. Programs keep
running, and other clients learn the new window membership. The tmux
control-mode restriction remains. Splitting a server-owned tab into a different
domain is rejected; use that tab's domain.
Moving is different from Reopen Closed Tab. A mux tab explicitly closed while its spawnable domain is attached can now be remembered for reopening. Reopening reconstructs its position, color, Zen flag, and layout in new processes. Recorded running commands can execute again, and scrollback is not restored.
Closing a GUI window normally detaches mux panes instead of killing them, so that is not a closed tab to reopen. GUI session saves exclude live all-mux windows and retain only restorable local content in mixed layouts. Reconnect to the server's existing panes rather than recreating duplicates from a saved GUI layout. See Multiplexer Sessions.
Target CLI Changes Deliberately
The new move-tab, set-tab-color, and set-tab-zen CLI commands change
shared tab state. JSON pane listings include color, zen_mode, and
is_active_tab; those tab-level fields repeat for every pane in a split tab.
is_active still means the active pane within its tab.
A nonempty NASH_UNIX_SOCKET overrides --prefer-mux. From a local GUI
pane, an inherited socket can therefore target the GUI instead of the server.
When switching instances, clear both NASH_UNIX_SOCKET and NASH_PANE, then
obtain explicit IDs from a list made with the same server-targeting environment.
IDs are instance-local. The
mux commands reference covers targeting.
Keep the Remaining Boundaries in View
Process names, PIDs, executable paths, and working directories reported by a remote mux describe the remote host, not local files or processes. Project manifests remain disabled for TLS and SSH mux panes; a remote working directory does not authorize loading local project configuration.
Smaller changes include rounded ends on the active-pane gutter highlight and a
bundled highlight size of 5pt. The mux transport also reads and writes
concurrently, with ordered output and coalesced pane updates, so a blocked
writer does not stall inbound request handling.
Schedule the Protocol Upgrade
This release uses protocol 51, with no older-protocol compatibility mode. Update GUI, CLI, and server binaries, including the remote server where relevant. An older running server still needs replacement.
nash mux restart is Unix-only; on Windows, stop nash-mux-server manually
before starting its replacement. Restart closes all server-owned panes and
their processes. Save work first: neither shared tab state nor GUI session
restore makes a server restart preserve running work.