Step aside priority app bindings that the active screen needs.
Textual resolves priority=True bindings App-first, so these app actions
would otherwise consume the key before the active screen sees it.
Returning False disables the app binding for this dispatch so the key
reverts to the active screen's own handling. Depending on the screen that
is either a competing screen binding or default key handling:
open_notifications (ctrl+n): ModelSelectorScreen has its own
priority ctrl+n -> toggle_names binding that then wins.toggle_auto_approve (shift+tab): DebugConsoleScreen has no
binding for the key; stepping aside lets it fall through to the
console's key_shift_tab reverse-focus traversal. Without this the
binding fires action_toggle_auto_approve, which no-ops under a
ModalScreen that lacks dedicated shift+tab handling (as
DebugConsoleScreen does), so the key would be silently swallowed.
Note this keys on the action, and toggle_auto_approve is
also bound to ctrl+t, so that (harmless, already a no-op
under modals) binding is stepped aside too while the console is open.approval_reject_with_reason (tab): unlike the other approval keys
this one must be priority=True to beat Screen's
tab -> app.focus_next, which means it would otherwise swallow
tab app-wide. Stepping aside unless an approval menu is pending
and the chat input is unfocused keeps focus traversal and
chat-input completion working everywhere else.Branches on action names, not keys, so this stays correct if a binding is ever rebound.