diff --git a/docs/overrides/home.html b/docs/overrides/home.html index 869d363e..230491ab 100644 --- a/docs/overrides/home.html +++ b/docs/overrides/home.html @@ -1696,7 +1696,10 @@

Adjust the user interface to your liking through the configuration system or at runtime. -

+

+

+ Customize keybindings to your liking using the keymap system. +

A selection of Posting's themes stacked on top of each other. diff --git a/src/posting/widgets/confirmation.py b/src/posting/widgets/confirmation.py index 5a9225dc..e584965d 100644 --- a/src/posting/widgets/confirmation.py +++ b/src/posting/widgets/confirmation.py @@ -3,6 +3,7 @@ from typing import Literal from textual import on from textual.app import ComposeResult +from textual.binding import Binding from textual.containers import Horizontal, Vertical from textual.screen import ModalScreen from textual.widgets import Button, Static @@ -26,6 +27,15 @@ class ConfirmationModal(ModalScreen[bool]): } """ + BINDINGS = [ + Binding( + "left,right,up,down,h,j,k,l", + "move_focus", + "Navigate", + show=False, + ) + ] + def __init__( self, message: str, @@ -68,3 +78,7 @@ def confirm(self) -> None: @on(Button.Pressed, "#cancel-button") def cancel(self) -> None: self.dismiss(False) + + def action_move_focus(self) -> None: + # It's enough to just call focus_next here as there are only two buttons. + self.screen.focus_next()