From 725c5a1b420b105e638fbab7c4bd3cf3088ea02b Mon Sep 17 00:00:00 2001 From: Mark Qvist Date: Sun, 27 Sep 2026 14:52:39 +0200 Subject: [PATCH] Soft-fail and block missing termios on Windows --- nomadnet/ui/textui/images/_termlib.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/nomadnet/ui/textui/images/_termlib.py b/nomadnet/ui/textui/images/_termlib.py index abe7575..a974e84 100644 --- a/nomadnet/ui/textui/images/_termlib.py +++ b/nomadnet/ui/textui/images/_termlib.py @@ -10,9 +10,11 @@ import os import select import shutil import sys -import termios import time +try: import termios +except: termios = None + from . import _ctlseqs QUERY_TIMEOUT = 0.3 @@ -43,7 +45,7 @@ def _open_tty(): def query_tty(request, timeout=QUERY_TIMEOUT): # Sends a query to the terminal and returns the raw response. global _query_failed - if _query_failed: return b"" + if _query_failed or not termios: return b"" fd = _open_tty() if fd == -1: @@ -121,6 +123,7 @@ def _cell_size_from_winsize(buf): def _query_cell_size(): # Determines the current cell size in pixels, or None if unknown. + if not termios: return None fd = _open_tty() if fd != -1: # First, try the TIOCGWINSZ pixel fields (fast, no query)