Skip to content

Add native text selection and keyboard shortcuts - #81

Merged
iamnbutler merged 1 commit into
feat/github-cachefrom
codex/desktop-selection-keys
Oct 5, 2026
Merged

iamnbutler merged 1 commit into
feat/github-cachefrom
codex/desktop-selection-keys

Conversation

@iamnbutler

Copy link
Copy Markdown
Contributor

Adds desktop_select for literal text selection and caret placement, with adjacent prefix/suffix matching for repeated text. Extends desktop_key with navigation, letters, digits, function keys, and Command/Control/Option/Shift shortcuts while preserving exact observed targets, complete press/release chords, and unsafe-to-replay mutations. Editable controls with an absent AXEnabled flag are accepted; explicitly disabled controls remain refused.

Refs #65 and #8. Closes #66. This extracts the selection and shortcut work from #67 onto merged #63. Literal insertion remains separate work in #65 / #76; this PR adds no insertion or clipboard tool.

Validation: fresh bun types, bun run ci, git diff --check, Ace diff review, and independent source review pass. The unchanged selection/shortcut paths previously passed real signed AppKit checks at d04c8c4: contextual UTF-16 selection/caret positioning, ambiguous and disabled refusal, Command+A, Shift+Right, backward/forward delete, and consumed-snapshot refusal. The existing real local pi and hosted-workspace runs also exercised these paths and replayed persisted results/screenshots after restart without repeated input. Those earlier combined-workflow results are reused only for selection and shortcuts; they do not certify the separate literal-insertion implementation. This extracted branch has not yet been rebuilt or launched as a signed app.

Built in Ace

Dependency installation, checks, Git commits/pushes, and PR creation run through an Ace terminal. The six-file diff was reviewed through Ace's changes/patch APIs. Codex performed source inspection/editing and independent review because native Codex integration (#9) and an Ace file editor (#22) remain open. No new native desktop actions or model runs were performed for this extraction.

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