summaryrefslogtreecommitdiff
path: root/src/ninep/pty.zig
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-09-29 03:44:26 -0300
committerGabriel Schneider <[email protected]>2026-10-01 00:12:15 -0300
commit69f8e4703f6c1204f9f0958f264d2a4c4600026f (patch)
tree01bab7f3d7cea8a557780c0e1263962752892732 /src/ninep/pty.zig
parent29ae6460961f4f781088455b72946260113a9ad9 (diff)
downloadpardes-69f8e4703f6c1204f9f0958f264d2a4c4600026f.tar.gz
pardes-69f8e4703f6c1204f9f0958f264d2a4c4600026f.zip
pty/run's busy names the program holding the terminal
busy said only that something ran. Where the host can tell (Linux, the tty's foreground group's /proc comm, a new fg_name host call), it says busy: <program> is running; elsewhere, busy as before. The GUI's host gains the one small callback (render agent's file: gui.zig, fgName). Co-Authored-By: Claude Opus 5.5 <[email protected]>
Diffstat (limited to 'src/ninep/pty.zig')
-rw-r--r--src/ninep/pty.zig7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/ninep/pty.zig b/src/ninep/pty.zig
index 393516ce..6b84af61 100644
--- a/src/ninep/pty.zig
+++ b/src/ninep/pty.zig
@@ -189,7 +189,12 @@ pub fn writeRun(p: *Pardes, req: Req, id: usize, pane: *Pane) Reply {
// marks: a nested shell's prompt (ssh, a shell with its own
// integration) looks like an empty prompt to ghostty but is not the
// shell this run knows.
- answer(p, slot, "busy", .{});
+ // Naming what runs, where the host can tell (Linux).
+ var name: [64]u8 = undefined;
+ if (p.hostForegroundName(id, &name)) |program|
+ answer(p, slot, "busy: {s} is running", .{program})
+ else
+ answer(p, slot, "busy", .{});
} else {
// Sent now if the shell is at its prompt, or at its first prompt
// when it has not drawn one yet (noteMarks).