From 9e8fd8e9908676f81385d1009bbdd880abfc3e65 Mon Sep 17 00:00:00 2001 From: slowlyo Date: Thu, 21 May 2026 15:35:23 +0800 Subject: [PATCH] Fix TUI selection auto-scroll on Textual 8 --- frontends/tuiapp_v2.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/frontends/tuiapp_v2.py b/frontends/tuiapp_v2.py index 2c7244d40..7086ce079 100644 --- a/frontends/tuiapp_v2.py +++ b/frontends/tuiapp_v2.py @@ -2054,13 +2054,12 @@ def patched(select_widget, mouse_coord, delta_y): scroll_lines = app.SELECT_AUTO_SCROLL_LINES candidates = [select_widget] - # Textual 8.2.6 renamed _select_start to _select_state (SelectState.start.container). - select_state = getattr(screen, "_select_state", None) - if select_state is not None: - sw = select_state.start.container - else: - ss = getattr(screen, "_select_start", None) - sw = ss[0] if ss is not None else None + ss = getattr(screen, "_select_start", None) + state = getattr(screen, "_select_state", None) + start = getattr(state, "start", None) + sw = ss[0] if ss is not None else None + if start is not None: + sw = getattr(start, "content_widget", None) or getattr(start, "container", None) if sw is not None and sw is not select_widget: candidates.append(sw)