Skip to content

feat: add sandboxed App Shot window capture - #420

Draft
MR-Gullo wants to merge 1 commit into
sw33tLie:mainfrom
MR-Gullo:codex/appshot-sandboxed-upstream-20260925
Draft

MR-Gullo wants to merge 1 commit into
sw33tLie:mainfrom
MR-Gullo:codex/appshot-sandboxed-upstream-20260925

Conversation

@MR-Gullo

@MR-Gullo MR-Gullo commented Sep 25, 2026 •

Copy link
Copy Markdown

Summary

Related to #318. Add an App Shot action that captures the frontmost window without an area-selection overlay. It shows a thumbnail, runs local Vision OCR, and writes the image followed by Markdown and plain-text context as separate clipboard states. The action is available from the capture menu or an assignable hotkey.

The workflow was inspired by ChatGPT Appshots. I also reviewed T3 Code's open-source snapshot work while exploring the design.

Testing

  • Release app build succeeded.
  • CONFIGURATION=Release scripts/run-tests.sh: 801 passed, 0 failed.
  • Tests cover source-window selection, context output, thumbnail timing, and separate image and text clipboard states.
  • Manual test on this PR's build: the assigned hotkey captured a synthetic TextEdit window, and the image remained in screenshot history after a Mac restart.
  • Manual verification remains open for the OCR text and image-then-text clipboard sequence. The restart happened before those clipboard states could be inspected.
  • Multi-monitor capture was not tested; only one display was active.
  • The build emits compiler warnings outside the added App Shot files, so the warning-free checklist item remains open.

Notes

This change keeps App Sandbox enabled. It does not include cross-process Accessibility extraction or the passive Option-key gesture; those need a separate design decision. Nothing is uploaded or submitted automatically.

I am keeping this PR in draft until the remaining manual checks are complete.

Capture the frontmost source window without an area overlay, show the thumbnail before local OCR, and publish image and Markdown as separate clipboard states. Keep upstream sandbox, history storage, and normal clipboard behavior intact.

Add XCTest coverage for target selection, context output, popup ordering, and clipboard publication. Release build and 801 tests pass.
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