Skip to content

Option to Show Default Key Bindings in the Footer #5818

@DaXor-0

Description

@DaXor-0

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions