Conversation
Features: - Theme system with system/light/dark modes (ThemeManager + @AppStorage) - Dynamic color palette that adapts to appearance (all existing colors made dynamic via NSColor(name:dynamicProvider:)) - Theme picker in Settings > General > Appearance (segmented control) - Raycast-style menu bar panel: ultraThinMaterial background with tint - Raycast-style settings cards: 12px corner radius, 0.5px dynamic border, compact padding, SF Pro typography - Applies preferredColorScheme to all windows (menu bar, settings, table editor) All existing UI components automatically support both modes because the hardcoded colors in ScreenTextGrabTheme.swift are now dynamic.
Replace all hardcoded .white / Color.white text and fill colors with dynamic stgWhite (white in dark mode, black in light mode). - Add Color.stgWhite dynamic color via NSColor(name:dynamicProvider:) - Add ShapeStyle extension so .stgWhite works in foregroundStyle/fill/stroke - Batch replace 57+ occurrences across MenuBarView, MenuBarSharedComponents, MenuBarQuickSettingsSection, SettingsTabViews, TableReviewView - Fix accidental NSColor.stgWhite in SelectionOverlay (use NSColor.white) - Fix accidental self-reference in ScreenTextGrabTheme definition
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.
Changes
Theme System
ThemeModeenum:.system,.light,.darkThemeManagerwith@AppStoragepersistence (survives app restarts)preferredColorSchemeto all windows (menu bar, settings, table editor)Dynamic Color System
ScreenTextGrabTheme.swiftnow useNSColor(name:dynamicProvider:)to adapt to light/dark appearanceColor.stgWhitedynamic color (white in dark mode, black in light mode) replaces 57+ hardcoded.whitetext/fill occurrencesShapeStyleextension so.stgWhiteworks inforegroundStyle,fill,strokecontextsUI Refinements
ultraThinMaterialbackground with subtle tint (Raycast-inspired)Notes
.system(follows macOS), so existing users see no change unless they switch