native macOS codings agent orchestrator prowl.onev.cat
Something went wrong. Try again.
Swift
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849import AppKitimport SwiftUI
struct WindowAppearanceSetter: NSViewRepresentable { let colorScheme: ColorScheme?
func makeNSView(context: Context) -> WindowAppearanceView { let view = WindowAppearanceView() view.colorScheme = colorScheme return view }
func updateNSView(_ nsView: WindowAppearanceView, context: Context) { nsView.colorScheme = colorScheme }}
final class WindowAppearanceView: NSView { var colorScheme: ColorScheme? { didSet { applyAppearance() } }
override func viewDidMoveToWindow() { super.viewDidMoveToWindow() applyAppearance() }
private func applyAppearance() { guard let window else { return } switch colorScheme { case .none: window.appearance = nil case .some(let scheme): switch scheme { case .light: window.appearance = NSAppearance(named: .aqua) case .dark: window.appearance = NSAppearance(named: .darkAqua) @unknown default: window.appearance = nil } } }}