From 11c3790ebaead53f7d56994844db6e57d4a97fe6 Mon Sep 17 00:00:00 2001 From: Will McGugan Date: Sat, 1 Apr 2023 18:48:03 +0100 Subject: [PATCH] binding tweak --- src/textual/app.py | 8 ++------ src/textual/screen.py | 6 ++++++ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/textual/app.py b/src/textual/app.py index 2d13a0f62..104dd9769 100644 --- a/src/textual/app.py +++ b/src/textual/app.py @@ -279,11 +279,7 @@ class App(Generic[ReturnType], DOMNode): also the `sub_title` attribute. """ - BINDINGS = [ - Binding("ctrl+c", "quit", "Quit", show=False, priority=True), - Binding("tab", "focus_next", "Focus Next", show=False), - Binding("shift+tab", "focus_previous", "Focus Previous", show=False), - ] + BINDINGS = [Binding("ctrl+c", "quit", "Quit", show=False, priority=True)] title: Reactive[str] = Reactive("", compute=False) sub_title: Reactive[str] = Reactive("", compute=False) @@ -1984,7 +1980,7 @@ class App(Generic[ReturnType], DOMNode): def _modal_binding_chain(self) -> list[tuple[DOMNode, Bindings]]: """The binding chain, ignoring everything before the last modal.""" binding_chain = self._binding_chain - for index, (node, _bindings) in enumerate(binding_chain): + for index, (node, _bindings) in enumerate(binding_chain, 1): if node.is_modal: return binding_chain[:index] return binding_chain diff --git a/src/textual/screen.py b/src/textual/screen.py index cb769a498..170c00e2d 100644 --- a/src/textual/screen.py +++ b/src/textual/screen.py @@ -11,6 +11,7 @@ from ._callback import invoke from ._compositor import Compositor, MapGeometry from ._context import visible_screen_stack from ._types import CallbackType +from .binding import Binding from .css.match import match from .css.parse import parse_selectors from .css.query import QueryType @@ -45,6 +46,11 @@ class Screen(Widget): stack_updates: Reactive[int] = Reactive(0, repaint=False) """An integer that updates when the screen is resumed.""" + BINDINGS = [ + Binding("tab", "focus_next", "Focus Next", show=False), + Binding("shift+tab", "focus_previous", "Focus Previous", show=False), + ] + def __init__( self, name: str | None = None,