Add screenshot capture settings for token and payload optimization#17
Open
antiartificial wants to merge 1 commit intofarzaa:mainfrom
Open
Add screenshot capture settings for token and payload optimization#17antiartificial wants to merge 1 commit intofarzaa:mainfrom
antiartificial wants to merge 1 commit intofarzaa:mainfrom
Conversation
Expose three user-configurable settings in the menu bar panel: - Primary screen only toggle (skips secondary monitors) - Active window only toggle (captures frontmost window instead of full screen) - JPEG quality slider (0.3–1.0, adjusts upload payload size) Settings persist via UserDefaults and are wired through the capture utility to both the voice response and onboarding demo pipelines. Includes unit tests for defaults, persistence, and boundary values.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
All three settings live in a new "SCREENSHOT" section in the menu bar panel, persist via UserDefaults, and are wired into both the voice response and onboarding demo capture pipelines. Defaults match existing behavior (all screens, full screen, 80% quality) so nothing changes unless a user opts in.
Files changed
CompanionManager.swiftthree new@Publishedsettings with UserDefaults persistenceCompanionScreenCaptureUtility.swiftcaptureAllScreensAsJPEG()accepts new parameters for filtering screens, capturing active window viaSCContentFilter(desktopIndependentWindow:), and configurable JPEG compressionCompanionPanelView.swiftnew "SCREENSHOT" settings section with two toggles and a sliderScreenshotSettingsTests.swift17 unit tests covering defaults, persistence, struct fields, and quality boundariesTest plan