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.

Since Nash 0.11.4:

  • Folded strips deliberately suppress the corner badge. Instead, the agent's status icon replaces the fold glyph in either orientation: a working spinner, paused solid circle, completed check circle, or failed alert circle, using the same status colors as the tab. Without a status, the ordinary fold glyph shows.
  • In a focused window, the working spinner animates even with the tab bar hidden or another pane's status taking precedence in the tab.
  • Completed and failed icons stay until input reaches that pane. Selecting, folding, or unfolding it does not clear them. The strip has no timestamp; unfolding shows the ordinary badge with its completion time.
  • indicator = "none" under [agent.status] disables corner badges only, not the folded-strip icon or tab indicator.

The tab's unread state is separate: Nash counts a selected strip as a pane you are watching, so a successful turn there is not marked unread in the tab.

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 label and status, not terminal content. The title is the one the program sets, for example with the OSC 2 escape sequence. If it 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 font_size, or turn off show_cwd under [pane.folded] 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 color under [pane.folded]. Every other strip uses the dimmed color. Set color and inactive_color to colors that differ more.