You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Inherit cwd from the source pane when splitting (#4)
When a split is initiated from an existing pane, the new pane spawns
with the source pane's last-known cwd. Remote cwds (e.g. OSC 7 over
ssh) are skipped since they aren't usable as a local spawn directory.
The inherited cwd rides through setPendingShellOpts alongside the
inherited shell selection and is consumed by getOrCreateTerminal on
the next platform.spawnPty.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: docs/specs/layout.md
+4Lines changed: 4 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -179,6 +179,10 @@ All handled in a single capture-phase `keydown` listener on `window`. Every hand
179
179
|`t`| Toggle TODO flag | — |
180
180
|`a`| Dismiss or toggle alert | — |
181
181
182
+
### Split cwd inheritance
183
+
184
+
When a split is initiated from an existing pane (via `"`/`%`, the header split buttons, or `Cmd/Ctrl+Click` on a split icon), the new pane spawns with its source pane's last-known cwd as the spawn directory. The source cwd is read from `getTerminalPaneState(sourceId).cwd`; remote cwds (`isRemote === true`, e.g. an OSC 7 path reported over ssh) are ignored because they aren't usable as a local spawn cwd. When no source cwd is known, when the split has no source pane (initial pane creation), or when the source is remote, the host's default cwd applies. The inherited cwd rides through `setPendingShellOpts` alongside the inherited shell selection and is consumed by `getOrCreateTerminal` on the next `platform.spawnPty`.
185
+
182
186
### Kill confirmation
183
187
184
188
Pressing `x` (or clicking the kill button) enters command mode and shows a pane-centered semi-transparent overlay (`KillConfirmOverlay` → `KillConfirmCard`) with a random uppercase letter (A-Z, excluding X). Typing that letter confirms the kill (destroys session, removes pane). Cancel with Escape key, clicking the `[ESC] to cancel` button, or clicking another panel. Any other key triggers a shake animation (400ms `shake-x` keyframe) then auto-dismisses the confirmation.
0 commit comments