diff options
| author | Gabriel Schneider <[email protected]> | 2026-09-30 13:08:29 -0300 |
|---|---|---|
| committer | Gabriel Schneider <[email protected]> | 2026-10-01 00:12:17 -0300 |
| commit | d51e1cd8d7344738ca04578beb8731ab72235a07 (patch) | |
| tree | 107f768d96b98c0e625e7ead07f6b3d38e655152 /src/memory.zig | |
| parent | dc37b4ea777b7eb881a993e737457c18699c5b2c (diff) | |
| download | pardes-d51e1cd8d7344738ca04578beb8731ab72235a07.tar.gz pardes-d51e1cd8d7344738ca04578beb8731ab72235a07.zip | |
A tty editor killed with SIGTERM or SIGHUP puts its terminal back before it dies
A nested pardes killed in a pane died with the default action. That left
the pane's terminal on the alternate screen, in raw mode, with mouse and
paste reporting on, so the shell under it was unusable until a reset. The
tty frontend now handles both signals: it writes the resets a clean exit
writes (keyboard protocol, mouse modes, focus, bracketed paste, SGR,
cursor, main screen) and restores the cooked termios, all
async-signal-safe. Then it dies of the same signal, since SA_RESETHAND put
the default back. fs.py kills a tty session with each signal and checks
for the main-screen switch and cooked mode; it fails without the handler.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Diffstat (limited to 'src/memory.zig')
0 files changed, 0 insertions, 0 deletions
