diff --git a/src/textual/drivers/linux_driver.py b/src/textual/drivers/linux_driver.py index f5f90ae0bf..2d1b5e1a00 100644 --- a/src/textual/drivers/linux_driver.py +++ b/src/textual/drivers/linux_driver.py @@ -145,9 +145,14 @@ def on_terminal_resize(signum, stack) -> None: self._request_terminal_sync_mode_support() self._enable_bracketed_paste() - def _request_terminal_sync_mode_support(self): - self.console.file.write("\033[?2026$p") - self.console.file.flush() + def _request_terminal_sync_mode_support(self) -> None: + """Writes an escape sequence to query the terminal support for the sync protocol.""" + # Terminals should ignore this sequence if not supported. + # Apple terminal doesn't, and writes a single 'p' in to the terminal, + # so we will make a special case for Apple terminal (which doesn't support sync anyway). + if self.console._environ.get("TERM_PROGRAM", "") != "Apple_Terminal": + self.console.file.write("\033[?2026$p") + self.console.file.flush() @classmethod def _patch_lflag(cls, attrs: int) -> int: