Skip to content

feat: display keybindings in modal - #17

Merged
thecentinol merged 14 commits into
mainfrom
feature/keybinds-modal
Jul 27, 2026
Merged

thecentinol merged 14 commits into
mainfrom
feature/keybinds-modal

Conversation

@thecentinol

@thecentinol thecentinol commented Jul 27, 2026 •

Copy link
Copy Markdown
Owner

Summary

Adds a new modal model that renders all application keybindings in a scrollable view using bubbles/help and bubbles/viewport.

Changes

  • Modal Implementation: Built a dedicated keybindings modal model wrapping bubbles/viewport.
  • Global Navigation & Keybindings:
    • Added a global Cancel (Esc) keybinding to close active modals (used for both password and keybinding modals).
    • Wired up ? hotkey and event handlers to open/close the modal from the root model.
    • Added filtering methods to Keybindings and a ToBubblesBatch helper for converting a slice of Binding to bubbles/key.Binding.
  • Group Restructuring:
    • Split wifiGroup into separate Saved and Available groups for clearer visual organization.
    • Refactored tableGroup to represent generic navigation across UI models, and renamed it to navGroup.
  • Styling: Defined theming under KeybindsModalTheme.

Result

Pressing ? anywhere (unless another modal is focused/active - i.e., error or password modal) in the app displays an viewport listing all keyboard shortcuts categorized by domain, allowing users to easily discover available keybindings.

@thecentinol thecentinol self-assigned this Jul 27, 2026
@thecentinol thecentinol added feature charm This PR involves changes to bubbletea/bubbles/lipgloss labels Jul 27, 2026
@thecentinol
thecentinol merged commit 5cd81d3 into main Jul 27, 2026
2 checks passed
@thecentinol
thecentinol deleted the feature/keybinds-modal branch July 27, 2026 13:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

charm This PR involves changes to bubbletea/bubbles/lipgloss feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant