Skip to content

perry/ui: command palette widget (⌘K) #477

@proggeramlug

Description

@proggeramlug

Tracked from #472 (production-widget gap analysis).

Gap

Modern productivity apps (Linear, Notion, Slack, Raycast) ship a ⌘K command palette as table-stakes. There's no AppKit/UIKit primitive — every app rebuilds it.

Scope

  • Floating panel triggered by configurable hotkey (default ⌘K on macOS, none on iOS — invoked imperatively)
  • Fuzzy-search across registered commands
  • Commands have: id, label, optional icon, optional subtitle, optional keyboard shortcut, optional group/section header
  • Recent / frequently-used commands ranked higher
  • Keyboard navigation (arrows, Enter, Esc)
  • Optional async command sources (e.g. search current document content)

Imperative registration:

ui.commandPalette.register({ id: 'file.save', label: 'Save', shortcut: '⌘S', onRun: () => saveDoc() })

Notes

Should integrate with the OS-native menu bar on macOS so commands show up in both places without double-registration.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions