From cdd6607accb436948ee0882bbc89d07c71dccea9 Mon Sep 17 00:00:00 2001 From: Karel Date: Thu, 2 Oct 2025 17:35:22 +0000 Subject: [PATCH] Use `os.get_terminal_size` as the primary The function `shutil.get_terminal_size` returns environment variables `COLUMNS` and `LINES` when those exist. But this information is stale after resizing the terminal. First try to retrieve from `os.get_terminal_size` and only after fall back to `shutil`. --- src/textual/drivers/linux_driver.py | 2 +- src/textual/drivers/linux_inline_driver.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/textual/drivers/linux_driver.py b/src/textual/drivers/linux_driver.py index 66f4c4d978..aadbd3075c 100644 --- a/src/textual/drivers/linux_driver.py +++ b/src/textual/drivers/linux_driver.py @@ -108,7 +108,7 @@ def _get_terminal_size(self) -> tuple[int, int]: import shutil try: - width, height = shutil.get_terminal_size() + width, height = os.get_terminal_size() except (AttributeError, ValueError, OSError): try: width, height = shutil.get_terminal_size() diff --git a/src/textual/drivers/linux_inline_driver.py b/src/textual/drivers/linux_inline_driver.py index 14aa61fba0..f10b6eb43c 100644 --- a/src/textual/drivers/linux_inline_driver.py +++ b/src/textual/drivers/linux_inline_driver.py @@ -66,7 +66,7 @@ def _get_terminal_size(self) -> tuple[int, int]: import shutil try: - width, height = shutil.get_terminal_size() + width, height = os.get_terminal_size() except (AttributeError, ValueError, OSError): try: width, height = shutil.get_terminal_size()