Skip to content

Add per-extension appearance override setting#12

Merged
headmin merged 2 commits intomacadmins:mainfrom
bartreardon:appearance-override
Mar 22, 2026
Merged

Add per-extension appearance override setting#12
headmin merged 2 commits intomacadmins:mainfrom
bartreardon:appearance-override

Conversation

@bartreardon
Copy link
Contributor

Allows users to force light or dark mode for individual file types independently of the macOS system appearance. Settings are persisted via a shared App Group UserDefaults so both the main app and the QuickLook extension can access them.

  • Add AppearanceSettings.swift (Shared) for read/write of overrides
  • Add SettingsView.swift with per-extension System/Light/Dark pickers
  • Add gear button to ContentView that opens the settings sheet
  • Update PreviewProvider to apply the override when rendering
  • Add App Group entitlement to both targets

Examples:

New settings icon:

Pique1

Setting sheet view:

Pique2

Example previewing a profile in dark mode with the OS in light mode:

Pique3

Allows users to force light or dark mode for individual file types
independently of the macOS system appearance. Settings are persisted
via a shared App Group UserDefaults so both the main app and the
QuickLook extension can access them.

- Add AppearanceSettings.swift (Shared) for read/write of overrides
- Add SettingsView.swift with per-extension System/Light/Dark pickers
- Add gear button to ContentView that opens the settings sheet
- Update PreviewProvider to apply the override when rendering
- Add App Group entitlement to both targets
@bartreardon
Copy link
Contributor Author

If we don't like per filetype settings (e.g. one for each type of shell script supported) then we can condense the settings into one per group type.

Example:

image

…s into one - e.g. one setting for "scripts" not have individual setings for each script type.
@headmin headmin merged commit caad7e0 into macadmins:main Mar 22, 2026
headmin added a commit that referenced this pull request Mar 22, 2026
Add files from #12 to project.pbxproj to succeed builds

AppearanceSettings.swift
SettingsView.swift
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