Persistence and Limits

Fold state is saved with your layout

Nash records which panes are folded as part of your window layout.

  • Session restore. Nash stores each folded pane with its fold, next to the normal (unfolded) split sizes. A restore rebuilds the layout first and then folds the panes again. Your strips come back where they were, and unfolding them returns the panes to their real sizes. See Session Restore.
  • Multiplexer sessions. In a multiplexer session the server owns the layout, and it keeps the fold state. A fold you make in a client window runs on the server. When you reconnect, the strips are there. See the Multiplexer.

Both need Nash 0.7.0 or newer.

Behavior with other features

FeatureWhat to expect
MaximizeFolding a pane while another is maximized restores the layout first. Maximizing an unfolded pane preserves existing folds; the strips return when you restore the layout.
Search, Copy Mode, Quick SelectNash unfolds the pane first. These overlays need the pane's text on screen.
Closing a paneThe confirmation prompt unfolds the pane. Closing a folded pane drops its fold.
Moving a pane to a new tab or windowThe pane arrives unfolded.
Swap and rotateA folded pane keeps its fold in its new place.
Coding agentsSee below.

Coding agents in a folded pane

Folding changes how a pane is drawn, not what its program does. An agent in a folded pane keeps working, and the tab title keeps showing its state. See Connect Your Coding Agent.

Two details matter:

  • The in-pane status badge hides when it does not fit its pane. A one-row strip is usually too small for it. The tab title still reports the same state.
  • Nash counts the selected pane as the one you are watching, and that includes a selected strip. When an agent finishes a turn in a pane you are watching, Nash does not mark the finish as unread. A failure stays visible until you type in the pane. Folding the active pane moves focus away, so this only affects a strip that you select on purpose.

Limits

  • A fold needs another visible pane. You cannot fold the only pane in a tab or the last unfolded one.
  • You cannot resize a strip. A divider beside a strip does not move, by mouse or by keyboard. Dividers between unfolded panes still move.
  • A strip shows a title, not the pane. The title is the one the program sets, for example with the OSC 2 escape sequence. If the program sets none, Nash uses the name of the foreground process. Nash shows the folder only for a local directory.
  • Mouse input stops at the strip. A strip reacts to the left button, with one click to select and a double-click to unfold. Nash never forwards a mouse event to the program.
  • Keyboard input does not stop. Keys that nothing else uses reach the program in a selected strip, and you cannot see the result.
  • A strip takes no highlight. There is no active pane outline and no pane switch animation on a strip. The fill shows which strip has focus.
  • The program keeps its size. Nash does not shrink the pane's terminal to match the strip. This protects full-screen programs from a resize at every fold.

Troubleshooting

SUPER+SHIFT+E does nothing

  1. Check that the tab has another unfolded pane. Nash refuses to fold the last visible pane.
  2. If a pane is maximized, SUPER+SHIFT+E restores the layout first. Press it again to fold.
  3. If the pane is already folded, Shrink Pane does nothing. Press SUPER+E to unfold it.
  4. Look in ~/.config/nash/commands.toml for another command bound to the same key. See Keys and Commands.
  5. Run nash cli fold-pane in the pane. It prints the reason for a refusal.

The keys or options are missing after an upgrade

Nash 0.7.3 and newer merge new commands and options into your files on the first launch after an update. On Nash 0.7.0 to 0.7.2, run nash config sync --all. See Configuration Sync.

Enter does not unfold a strip

Enter unfolds the pane only when the selected pane is folded. Select the strip first, by clicking it or with the pane direction keys. Also check that you did not comment out the keys line of unfold_pane in commands.toml. In an overlay such as copy mode, Enter keeps the meaning that the overlay gives it.

SUPER+M does not minimize the window

SUPER+M and SUPER+SHIFT+M walk the size ladder. Minimize Window has no default key. Bind one in commands.toml, or use the Window menu.

The strip title is empty or cut short

Nash cuts a title that does not fit and ends it with …. Lower folded_pane_font_size, or turn off folded_pane_show_cwd to give the title more room. If the title is empty, the program set none. Nash then shows the foreground process name. See Configuration.

I cannot tell which strip has focus

The strip with focus uses folded_pane_color. Every other strip uses the dimmed color. Set folded_pane_color and folded_pane_inactive_color to colors that differ more.