diff --git a/Onyx/OnboardingView.swift b/Onyx/OnboardingView.swift index 1e40ddb..37bd6b7 100644 --- a/Onyx/OnboardingView.swift +++ b/Onyx/OnboardingView.swift @@ -82,6 +82,9 @@ struct OnboardingView: View { footer } .frame(width: 520, height: 520) + // Im Rumpf gelesen, damit ein Farbwechsel ankommt. + .tint(Onyx.Color.accent) + .labelStyle(.onyx) .task { calendarGranted = calendarModel.hasAccess fanControl.refreshInstallState() diff --git a/Onyx/OnboardingWindowController.swift b/Onyx/OnboardingWindowController.swift index 0db504d..0a6dd3a 100644 --- a/Onyx/OnboardingWindowController.swift +++ b/Onyx/OnboardingWindowController.swift @@ -44,9 +44,7 @@ final class OnboardingWindowController: NSObject, NSWindowDelegate { rootView: OnboardingView( calendarModel: calendarModel, weatherModel: weatherModel, mixer: mixer, fanControl: fanControl, launchAtLogin: launchAtLogin, - onFinish: { [weak self] in self?.finish() }) - .tint(Onyx.Color.accent) - .labelStyle(.onyx)) + onFinish: { [weak self] in self?.finish() })) let window = NSWindow(contentViewController: hosting) window.title = "Onyx" diff --git a/Onyx/OnyxApp.swift b/Onyx/OnyxApp.swift index 21afaf7..f477a12 100644 --- a/Onyx/OnyxApp.swift +++ b/Onyx/OnyxApp.swift @@ -76,9 +76,7 @@ final class AppDelegate: NSObject, NSApplicationDelegate { NotchHostingView( rootView: NotchContainer(presentation: presentation) { NotchPanelContent(model: model) - } - .tint(Onyx.Color.accent) - .labelStyle(.onyx), + }, presentation: presentation) } coordinator.start() @@ -366,5 +364,8 @@ private struct NotchPanelContent: View { var body: some View { WidgetGrid(placements: model.layout, availableWidth: AppModel.availableWidth) + // Im Rumpf gelesen, damit ein Farbwechsel ankommt. + .tint(Onyx.Color.accent) + .labelStyle(.onyx) } } diff --git a/Onyx/SettingsView.swift b/Onyx/SettingsView.swift index ff399b3..73dde69 100644 --- a/Onyx/SettingsView.swift +++ b/Onyx/SettingsView.swift @@ -71,6 +71,14 @@ struct SettingsView: View { // Systems, und die beiden liegen in Dunkelgrau ein, zwei Prozent // auseinander. Sichtbar wurde das als Kante quer durchs Fenster. .background(Color(nsColor: .windowBackgroundColor)) + // Farbton und Symbolfarbe hier und nicht beim Erzeugen des Fensters. + // + // Beim Erzeugen wird der Wert **einmal** gelesen, außerhalb jeder + // View — SwiftUI erfährt nie, dass er sich geändert hat. Die Reiter + // und Knöpfe blieben deshalb in der Farbe stehen, die beim Öffnen + // galt, während der Farbwähler daneben schon die neue zeigte. + .tint(Onyx.Color.accent) + .labelStyle(.onyx) // Nur ein Mindestmaß, keine feste Größe: sonst kann das Fenster // wachsen, der Inhalt aber nicht mit. .frame(minWidth: 740, minHeight: 460) diff --git a/Onyx/SettingsWindowController.swift b/Onyx/SettingsWindowController.swift index 81196bb..97ec9e1 100644 --- a/Onyx/SettingsWindowController.swift +++ b/Onyx/SettingsWindowController.swift @@ -61,12 +61,7 @@ final class SettingsWindowController: NSObject, NSWindowDelegate { showOnboarding: showOnboarding, selectedTab: Binding( get: { [weak self] in self?.selectedTab ?? .widgets }, - set: { [weak self] in self?.selectedTab = $0 })) - // Ohne das folgen Haken, Regler und Auswahlfelder der - // Systemfarbe statt der eingestellten. Genau daher kam das - // Grün, das in Onyx sonst nirgends vorkommt. - .tint(Onyx.Color.accent) - .labelStyle(.onyx)) + set: { [weak self] in self?.selectedTab = $0 }))) let window = NSWindow(contentViewController: hosting) window.title = "Onyx"