diff options
| author | Gabriel Schneider <[email protected]> | 2026-09-30 11:44:27 -0300 |
|---|---|---|
| committer | Gabriel Schneider <[email protected]> | 2026-10-01 00:12:17 -0300 |
| commit | f7c22573915cd4ecb98ef400b0914949ed07874e (patch) | |
| tree | 125f30f2338dc04d73b7b309b6a6c834927f4f9f /src/exec.zig | |
| parent | e61cc19e5d60403f721338f61e62a2e5569c9846 (diff) | |
| download | pardes-f7c22573915cd4ecb98ef400b0914949ed07874e.tar.gz pardes-f7c22573915cd4ecb98ef400b0914949ed07874e.zip | |
New and Tty run at /tagexec and a column's exec, and with no pane at all
The words New and Tty make a pane in the session's directory, and fs.md
already has them run at a tag no pane owns. But /tagexec refused New as a
pane's word, since the workspace tag does not hold it. Every header exec
also failed ENOENT when no pane was left, and Tty gave up when it had no
pane to take a directory from. Now New and Tty are every tag's words.
A header exec with no pane runs at the stand-in, as a click in the empty
window's tag does, and Tty with no pane asking starts in the session's
directory, as New's scratch does.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Diffstat (limited to 'src/exec.zig')
| -rw-r--r-- | src/exec.zig | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/exec.zig b/src/exec.zig index 8c062f66..5b0b0250 100644 --- a/src/exec.zig +++ b/src/exec.zig @@ -346,7 +346,8 @@ pub fn spawnV9fsTty(p: *Pardes, from: usize) void { } fn spawnTtyWithMount(p: *Pardes, from: usize, v9fs: bool) ?*Pane { - if (p.panes[from] == null) return null; + // No pane asking (an empty window's tag): the session's directory, as + // New's scratch is. // A directory that is not there makes no terminal: its shell could not // start in it, and a dead pane would answer no run. Asked only of a host // that starts shells (none, as in the core's tests, starts none). |
