-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Description
Feature Request: Include Default Key Bindings in the Footer
Currently, the Footer widget only displays key bindings that are explicitly declared in App.BINDINGS or bound manually via self.bind(). However, many keys such as Tab, Shift+Tab, arrow keys, etc., have default functionality (e.g., focus movement) that users may not be aware of unless documented separately.
Proposal
Introduce a configurable option or parameter to Footer (or a global app setting) that allows the display of default/built-in key bindings alongside user-defined bindings.
Possible Implementations:
-
A keyword argument in
Footer, e.g.:Footer(show_default_bindings=True)
-
Or an App-level flag:
class MyApp(App): SHOW_DEFAULT_BINDINGS = True
-
Default bindings could be labeled with a tag like
[default], shown in a different color, or styled subtly to distinguish them from app-specific bindings.
Use Case
When building user-facing TUIs, developers want to reduce onboarding friction. Showing helpful default keys like Tab for navigation directly in the footer would improve usability without requiring explicit redefinition.
Benefits
- Improved discoverability of built-in interactions.
- Cleaner developer experience.
- Consistency across apps that use common Textual idioms.