summaryrefslogtreecommitdiff
path: root/src/pardes.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/pardes.zig')
-rw-r--r--src/pardes.zig5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/pardes.zig b/src/pardes.zig
index 06bc81ed..29a9ab3a 100644
--- a/src/pardes.zig
+++ b/src/pardes.zig
@@ -7024,6 +7024,10 @@ pub const Pardes = struct {
}
pub fn acknowledgeShell(p: *Pardes, id: usize, executable: []const u8, prompt_marks: bool) void {
+ if (id < MAX_PANES) {
+ ctlfs.pty.shellGone(p, id); // a respawn replaced whatever ran
+ p.fs.panes[id].unmarked = !prompt_marks;
+ }
if (id < MAX_PANES) panes.Terminal.shellSpawned(p, id, prompt_marks);
if (p.settings.shell.effective.set(executable))
p.settings.shell.pending = false;
@@ -7848,6 +7852,7 @@ pub const Pardes = struct {
const pane = p.panes[o.pane] orelse return;
ctlfs.events.notePtyOutput(p, o.pane, o.bytes);
panes.Terminal.feedOutput(p, pane, o.bytes);
+ ctlfs.pty.noteMarks(p, o.pane, pane);
},
.eof => |e| p.removePane(e.pane, null) catch |err| {
if (p.panes[e.pane]) |pane| pane.mode = .normal;