Skip to content

feat: add configurable macOS selection shortcut - #38

Merged
fly1d merged 1 commit into
mainfrom
codex/custom-selection-shortcut
Aug 20, 2026
Merged

feat: add configurable macOS selection shortcut#38
fly1d merged 1 commit into
mainfrom
codex/custom-selection-shortcut

Conversation

@fly1d

@fly1d fly1d commented Aug 20, 2026

Copy link
Copy Markdown
Owner

Summary

  • default selection translation to Option + K
  • let desktop users disable or record a custom global shortcut, including while disabled
  • persist preferences locally and surface registration, rollback, capture, focus, and permission failures
  • serialize shortcut replacement and selected-text processing to protect clipboard fallback
  • update product and build documentation for the new shortcut and privacy boundary

Risk

  • Low: documentation, copy, styles, or isolated dictionary data
  • Medium: UI behavior, translation provider, document parsing, or shared API
  • High: selection capture, OS permissions, credentials, packaging, or releases

Verification

  • npm run check (34 tests, typecheck, production build)
  • npm run test:smoke (5 passed, 1 desktop-only viewport test skipped by design)
  • npm run test:site (12 passed)
  • npm run desktop:check (Rust fmt, Clippy, 8 tests, cargo check)
  • release .app build
  • real app UI smoke: default, disable, edit while disabled, re-enable, persistence across restart, reset to default
  • No API keys, user content, or sensitive logs were added
  • Error and fallback states were exercised in unit tests

Review Notes

Bare K is intentionally rejected because a Carbon global shortcut would consume normal typing system-wide. The default is Option + K; printable keys and F1-F12 require Command, Control, or Option.

The real .app UI flow was exercised on macOS. A human still needs to press the global shortcut from another application with Accessibility allowed and denied; Computer Use cannot synthesize system-wide shortcuts or approve privacy permissions. Known clipboard fallback limits remain documented.

@fly1d
fly1d merged commit 2d86abd into main Aug 20, 2026
5 checks passed
@fly1d
fly1d deleted the codex/custom-selection-shortcut branch August 20, 2026 09:20
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