diff --git a/kitty/child.py b/kitty/child.py index f8fd0a5a8..ed3da1f37 100644 --- a/kitty/child.py +++ b/kitty/child.py @@ -563,9 +563,9 @@ class Child: os.killpg(pgrp, s) return True - def reset_termios_state(self) -> None: + def reset_termios_state(self, when: int = termios.TCSANOW) -> None: if (s := getattr(self, 'initial_termios_state', None)) and self.child_fd is not None: try: - termios.tcsetattr(self.child_fd, termios.TCSANOW, s) + termios.tcsetattr(self.child_fd, when, s) except OSError: pass diff --git a/kitty/window.py b/kitty/window.py index 5eeb64982..3c4e92b78 100644 --- a/kitty/window.py +++ b/kitty/window.py @@ -1334,7 +1334,7 @@ class Window: self.screen.send_escape_code_to_child(ESC_OSC, f'{code};rgb:{r:04x}/{g:04x}/{b:04x}') def on_reset(self) -> None: - self.child.reset_termios_state() + pass def notify_child_of_resize(self) -> None: pty_size = self.last_reported_pty_size @@ -1918,6 +1918,7 @@ class Window: self.screen.cursor.x = self.screen.cursor.y = 0 if reset: self.screen.reset() + self.child.reset_termios_state() else: self.screen.erase_in_display(3 if scrollback else 2, False)