Skip to content

feat: add capso://grab/all-in-one automation URL - #223

Merged
lzhgus merged 1 commit into
lzhgus:mainfrom
FezVrasta:feature/automation-url-all-in-one
Jul 31, 2026
Merged

feat: add capso://grab/all-in-one automation URL#223
lzhgus merged 1 commit into
lzhgus:mainfrom
FezVrasta:feature/automation-url-all-in-one

Conversation

@FezVrasta

Copy link
Copy Markdown
Contributor

What changed

Adds capso://grab/all-in-one to the automation URL scheme, routing it to the existing CaptureCoordinator.captureAllInOne() — the same action already available via global hotkey and the menu bar.

Previously only area, fullscreen, and window were exposed to the automation URL scheme (added in #186), so external launchers (Raycast, Alfred, Shortcuts) had no way to start an All-in-One capture. This closes that gap with a one-line route and a documented URL.

  • Add captureAllInOne case to AutomationURLAction and parse /all-in-one
  • Dispatch the action in AppDelegate.performPendingAutomationURLAction()
  • Document the URL in the Automation settings list (Settings → General)
  • Cover the new path in AutomationURLActionTests

Related issue

None.

Screenshots / recordings

No behavioral UI change beyond the Settings → Automation "Supported URLs" list gaining one more row (capso://grab/all-in-one).

Checklist

  • xcodegen generate not needed — no source files added/removed, project.yml untouched
  • SharedKit library builds; new parser test case added. Full xcodebuild / swift-testing run left to CI (no full Xcode in my dev env, only Command Line Tools)
  • No new TODO / FIXME / debug prints
  • Follows Swift 6 strict concurrency (pure Sendable value type + existing @MainActor dispatch context)
  • I agree that my contribution is licensed under BSL 1.1 per CONTRIBUTING.md

Routes capso://grab/all-in-one to the existing
CaptureCoordinator.captureAllInOne(), matching the action already
available via global hotkey and the menu bar. Previously only area,
fullscreen, and window were exposed to the automation URL scheme, so
external triggers (Raycast, Alfred, Shortcuts) had no way to start an
All-in-One capture.

- Add captureAllInOne case to AutomationURLAction and parse /all-in-one
- Dispatch the action in AppDelegate
- Document the URL in the Automation settings list
- Cover the new path in AutomationURLActionTests

@lzhgus lzhgus left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good — clean extension of the existing automation URL pattern, with parsing, dispatch, settings docs, and a test all lined up. Thanks for the contribution!

@lzhgus
lzhgus merged commit 5c26e56 into lzhgus:main Jul 31, 2026
2 checks passed
@lzhgus lzhgus mentioned this pull request Jul 31, 2026
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.

2 participants