debounce terminal resize, add SIGWINCH, remove padding
test / unit + widget + golden + a11y (push) Failing after 28s
test / integration_test (xvfb) (push) Has been skipped
test / bundle smoke (xvfb 5s) (push) Has been skipped
test / daemon subprocess + web WASM smoke (push) Has been skipped
test / unit + widget + golden + a11y (push) Failing after 28s
test / integration_test (xvfb) (push) Has been skipped
test / bundle smoke (xvfb 5s) (push) Has been skipped
test / daemon subprocess + web WASM smoke (push) Has been skipped
Rapid resize during window drag sends many SIGWINCH signals causing the shell to redraw repeatedly, corrupting xterm's render. Debounce to 150ms so only the final size is sent. NativePty.resize now explicitly sends SIGWINCH (signal 28) after TIOCSWINSZ, matching the legacy Python implementation. Removed 8px padding from ClidePtyView to eliminate potential dimension mismatch between widget size and PTY cols/rows. Default window size increased to 1600x900. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.6
parent
6f12c884cd
commit
2f7435f271
@@ -278,6 +278,10 @@ class NativePty {
|
||||
..ref.wsCol = cols;
|
||||
_ioctl(_fd, _kTiocsWinsz, ws);
|
||||
calloc.free(ws);
|
||||
// Explicitly signal the child to re-query its terminal size.
|
||||
// macOS should auto-send SIGWINCH on TIOCSWINSZ, but the legacy
|
||||
// Python implementation sent it explicitly for reliability.
|
||||
_nativeKill(pid, 28); // SIGWINCH = 28 on macOS/Linux
|
||||
}
|
||||
|
||||
/// Send a signal to the child.
|
||||
|
||||
Reference in New Issue
Block a user