Skip to content

feat: add a system appearance that follows macOS - #97

Open
pwuersch wants to merge 1 commit into
Augani:mainfrom
pwuersch:system-color-scheme
Open

feat: add a system appearance that follows macOS#97
pwuersch wants to merge 1 commit into
Augani:mainfrom
pwuersch:system-color-scheme

Conversation

@pwuersch

@pwuersch pwuersch commented Sep 1, 2026

Copy link
Copy Markdown

Resolves the new system case against NSApp.effectiveAppearance and observes it, so the palette and SwiftUI color scheme both track the OS.

In the sense of Show me your prompt, and I'll tell you who you are (Vadim Bauer, OSS @ Siemens 2026, page 30): I used Claude Opus 5 for this task because I'm not very familiar with Swift/SwiftUI development, but the changes look very sensible. Here's the prompt for transparency:

Add a new "system" appearance that follows the macOS color scheme and changes automatically.
Don't overengineer, overexplain, and follow the @CONTRIBUTING.md guidelines.

Resolves the new `system` case against NSApp.effectiveAppearance and
observes it, so the palette and SwiftUI color scheme both track the OS.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Comment on lines +867 to +869
appearanceCard(.light, "Always light", LinearGradient(colors: [Color(hex: 0xDCE9F7), .white], startPoint: .topLeading, endPoint: .bottomTrailing))
appearanceCard(.dark, "Always dark", LinearGradient(colors: [Color(hex: 0x1B1D21), Color(hex: 0x2A2C33)], startPoint: .topLeading, endPoint: .bottomTrailing))
appearanceCard(.system, "Follows macOS", LinearGradient(

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

Perhaps something like this would be better to match the macOS settings picker:

Suggested change
appearanceCard(.light, "Always light", LinearGradient(colors: [Color(hex: 0xDCE9F7), .white], startPoint: .topLeading, endPoint: .bottomTrailing))
appearanceCard(.dark, "Always dark", LinearGradient(colors: [Color(hex: 0x1B1D21), Color(hex: 0x2A2C33)], startPoint: .topLeading, endPoint: .bottomTrailing))
appearanceCard(.system, "Follows macOS", LinearGradient(
appearanceCard(.light, "Light", LinearGradient(colors: [Color(hex: 0xDCE9F7), .white], startPoint: .topLeading, endPoint: .bottomTrailing))
appearanceCard(.dark, "Dark", LinearGradient(colors: [Color(hex: 0x1B1D21), Color(hex: 0x2A2C33)], startPoint: .topLeading, endPoint: .bottomTrailing))
appearanceCard(.system, "Auto", LinearGradient(
Image

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