diff options
Diffstat (limited to 'src/host.zig')
| -rw-r--r-- | src/host.zig | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/host.zig b/src/host.zig index 9ca882b1..b6ccff34 100644 --- a/src/host.zig +++ b/src/host.zig @@ -66,6 +66,16 @@ pub const Host = struct { /// capability handshake landing, gamepad state. push_poll_frame: ?*const fn (ctx: ?*anyopaque) void = null, + // ---- this frontend's own membership ---- + /// `Detach` — leave the session, which carries on for everybody else. + /// Only a DETACHED core's host implements it, and the null case is the + /// point rather than an oversight: a local tty or SDL shell has no + /// session to leave, so the core reports that on the pane's row (see + /// `perform`) instead of quietly quitting something. Argumentless like + /// the two frame pushes above, because the host serving it already + /// knows whose keystroke arrived — it is the one that delivered it. + push_detach: ?*const fn (ctx: ?*anyopaque) void = null, + // ---- pseudo-terminals ---- push_spawn: ?*const fn (ctx: ?*anyopaque, pane: u8, cwd: []const u8) void = null, push_pty_write: ?*const fn (ctx: ?*anyopaque, pane: u8, bytes: []const u8) void = null, |
