summaryrefslogtreecommitdiff
path: root/src/panes.zig
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-09-29 08:02:47 -0300
committerGabriel Schneider <[email protected]>2026-10-01 00:12:16 -0300
commit0ec8d0dc6217486446f2fe2156dff136173a4ef5 (patch)
tree8e20f9f0fec47f614492d31c7f03a03e3ac1d0c5 /src/panes.zig
parentba0a0f82be43dde325012b3018b186bc808bdafc (diff)
downloadpardes-0ec8d0dc6217486446f2fe2156dff136173a4ef5.tar.gz
pardes-0ec8d0dc6217486446f2fe2156dff136173a4ef5.zip
Tty in a missing directory fails and makes no pane; a shell that never started answers runs
The host could not start the shell (its chdir failed), and the pane stayed with no pty: a run written to it waited for a prompt for ever. Tty now refuses a directory that is not there, `Tty: <dir>: no such directory`, before making a pane; and a terminal whose shell the host could not start (Pardes.shellFailed, from each host's spawn) answers any run with `error shell gone`. Co-Authored-By: Claude Opus 5.5 <[email protected]>
Diffstat (limited to 'src/panes.zig')
-rw-r--r--src/panes.zig3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/panes.zig b/src/panes.zig
index 7aea5898..41ba636f 100644
--- a/src/panes.zig
+++ b/src/panes.zig
@@ -106,6 +106,9 @@ pub const Pane = struct {
cols: u16,
rows: u16,
greet: bool = false,
+ /// Its shell could not be started (Pardes.shellFailed): a run hears
+ /// `error shell gone` at once.
+ shell_failed: bool = false,
pending_command: Terminal.PendingCommand = .{},
/// The last command line pardes typed into this terminal (an exec, a
/// middle click, a pty/run): its first word, which Kill matches, and