Skip to content

Add native keybindings search - #30

Open
thepixelgardener-create wants to merge 2 commits into
typecraft-dev:mainfrom
thepixelgardener-create:keybindings-search
Open

thepixelgardener-create wants to merge 2 commits into
typecraft-dev:mainfrom
thepixelgardener-create:keybindings-search

Conversation

@thepixelgardener-create

@thepixelgardener-create thepixelgardener-create commented Oct 22, 2026 •

Copy link
Copy Markdown

Adds a native Search Keybindings view so users can find Omarchy shortcuts inside oma-cast instead of opening the separate Super+K menu.

For example, open oma-cast, choose Search Keybindings, and search file manager or Super+Shift+F. Results show the action with its shortcut as keycaps. Enter, clicking a row, or Ctrl+Shift+C copies the chord and keeps the view open.

  • Reads omarchy menu keybindings --print, including personal overrides and the active keyboard layout. Refreshes in the background on open, retains the last successful list after failures/timeouts, and avoids rebuilding unchanged results.
  • Adds shortcut rows to root search and routes Learn → Keybindings into the native view. Existing desktop bindings are unchanged.
  • Supports fuzzy action search and precise modifier/chord queries, including alternate shortcuts. Selecting a shortcut does not execute the associated desktop action.
  • Uses the existing theme, navigation stack and keycap component. Bundled English strings use Omarchy's translation component when available, with a fallback for shells such as 4.0.5 that lack it.

Validation:

  • 97 tests pass with node --test --test-skip-pattern='the installed Omarchy menu parses completely' tests/*.test.js, including new parsing, chord-search, exact-chord ranking, refresh/failure/recovery and copy-action coverage.
  • The full suite has one host-specific failure: the installed-menu integration test expects a style root absent in this machine's newer Omarchy menu. Reproduced the same failure using unmodified upstream 90efedd. That test skips naturally on hosts without Omarchy.
  • bash -n bin/oma-cast tests/smoke.sh, plugin manifest validation, and git diff --check pass.
  • Loaded this branch in the running shell: verified 244 live bindings, custom bindings, exact chord search, empty results, calculator action compatibility, and the rendered keycap view. No new QML load errors observed.

- Exact chord matches sort above chords with extra modifiers
  (super f → Super+F before Super+Alt+F).
- Title-case every multi-letter key (RETURN → Return), not only modifiers.
- Draw the alternative-chord separator "/" bare instead of as a keycap.
- Only show the loading bar for the first keybindings load, not the
  0.5 s background refresh on every open.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
cpreston321 added a commit to cpreston321/oma-cast that referenced this pull request Oct 26, 2026
Both sides kept: the fork's builtins, script, quicklink and snippet
candidates join the keybinding rows; opening the launcher refreshes the
script menus and the keybindings; Ctrl+Shift+C offers Copy Shortcut too;
key caps keep typecraft-dev#19's rounding and draw typecraft-dev#30's "/" bare.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant