Subshell Docs
Use Subshell

Workspaces and panes

Tile several subshells side by side, split panes, and understand how the layout adapts to the screen you are on.

Arrange several subshells side by side in a workspace, and see how the layout adapts to the screen you are on.

A workspace is a saved arrangement of subshell panes: several agents side by side in one view, stored and reachable from any device, the way you would arrange terminals on a large monitor. Each pane holds exactly one subshell, and splits nest as deep as you want.

Tiling on a wide screen, tabs on a narrow one

The same workspace has two presentations, and the screen decides which one it gets:

  • 1024px or wider: a tiling layout. Panes divide the space, nothing overlaps, and dividers are draggable.
  • Below 1024px: tabs, one subshell at a time, sized for the device you are holding.

The tab view never writes the stored layout, so a quick look from your phone cannot flatten the arrangement you built on a desktop. In a wide window, the tiling is exactly where you left it.

Adding panes

Every way to add a pane leads to the same choice (put an existing subshell here, or create a new one) and to a placement: split right, split down, or as a tab beside the focused pane.

  • The workspace header's Add subshell opens the picker for the focused pane.
  • Each subshell page has a Split button. It opens the picker already filled with the same agent, machine, and folder, and puts the new pane beside the one you were looking at.
  • Drag a subshell from the sidebar onto the workspace and it lands as a right-hand split of the focused pane. Within a workspace, a subshell holds at most one pane: dropping one that is already open there just focuses its pane. The same subshell may also sit in other workspaces.

Splitting always starts a new unsaved workspace beside whatever you were looking at, even when the subshell already lives in a workspace you saved, which stays untouched. Save as workspace keeps the draft, which only means naming it. An unsaved workspace that drops back to a single pane is discarded, because there is nothing left to arrange.

Moving, closing, and what survives

Drag a pane's tab to split another group or dock it as a tab, and the terminal inside is relocated, not reconnected: the layout keeps every visible pane's stream alive through moves and resizes, so a move causes no restart, no replay, and no lost keystrokes. Sending a tab to the background is the deliberate exception: the pane releases its terminal so a hidden pane streams to no one, and returning to it replays fresh from scrollback.

Closing needs a distinction, because two controls look similar and are not:

  • A pane tab's × removes the pane. The subshell keeps running and remains in your list; put it back into a workspace whenever you like.
  • Close on a maximized pane closes the subshell itself: it stops the process and deletes it, with a confirmation, exactly like the subshell menu's Close. Deleting a subshell takes its panes out of every workspace with it.

Maximize, the corner icon on a group's header, gives one pane the whole space. While maximized, that pane's transcript search is available.

One pane, one size across every device

A tmux pane has exactly one grid: the same split, the same sizing, on every device. When several devices are attached to the same subshell, the server sizes the pane so the smallest visible one can display all of it. The reasoning, the exceptions, and how to pin the size to one screen are on Devices. If the subshell is shared, the same single-grid rule is why you can see who else is attached: the pane's size cannot be explained without naming the devices.

Other pages

Edit on GitHub

Last updated on

On this page