diff options
| author | Gabriel Schneider <[email protected]> | 2026-09-29 03:44:26 -0300 |
|---|---|---|
| committer | Gabriel Schneider <[email protected]> | 2026-10-01 00:12:15 -0300 |
| commit | 69f8e4703f6c1204f9f0958f264d2a4c4600026f (patch) | |
| tree | 01bab7f3d7cea8a557780c0e1263962752892732 /src/tty/tty.zig | |
| parent | 29ae6460961f4f781088455b72946260113a9ad9 (diff) | |
| download | pardes-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/tty/tty.zig')
| -rw-r--r-- | src/tty/tty.zig | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/tty/tty.zig b/src/tty/tty.zig index 754b4b96..e7eddec4 100644 --- a/src/tty/tty.zig +++ b/src/tty/tty.zig @@ -946,6 +946,7 @@ const Shell = struct { .pty_signal = ptySignal, .close_pty = closePty, .tty_taken = ttyTaken, + .fg_name = fgName, .kill_job = killJob, .write_file = writeFile, .write_dump = writeDump, @@ -1295,6 +1296,12 @@ const Shell = struct { return host_io.ttyTaken(pt.pid, pt.file.handle); } + fn fgName(ctx: ?*anyopaque, pane: u8, buf: []u8) ?[]const u8 { + const s = of(ctx); + const pt = s.ptys[pane] orelse return null; + return host_io.foregroundName(pt.pid, pt.file.handle, buf); + } + /// The command panes' exits, told once their output is in (host_io). fn takeExits(s: *@This()) void { host_io.takeExits(s.core, &s.ptys, s, closeWatched); |
