feat: load optional XDG TOML configuration with session overrides

This commit is contained in:
2026-10-11 14:41:11 +02:00
parent 0dce073287
commit 722a225da5
16 changed files with 461 additions and 89 deletions
+8 -2
View File
@@ -71,7 +71,10 @@ private enum CLIInstanceCheck {
let directory = URL(fileURLWithPath: settings["directory"]!, isDirectory: true)
setenv("PATH", settings["path"]!, 1)
_ = NSApplication.shared
PlayerModel.shared.setVolume(0)
_ = NotificationCenter.default.addObserver(forName: NSApplication.willFinishLaunchingNotification,
object: nil, queue: .main) { _ in
MainActor.assumeIsolated { PlayerModel.shared.setVolume(0) }
}
// Exercise the real SwiftUI scene and delegate without displaying test windows.
_ = NotificationCenter.default.addObserver(forName: NSWindow.didUpdateNotification, object: nil, queue: .main) { _ in
MainActor.assumeIsolated { for window in NSApp.windows { window.alphaValue = 0 } }
@@ -95,6 +98,9 @@ private enum CLIInstanceCheck {
"hasAudio": model.state.has_audio,
"hasVideo": model.state.has_video,
"error": model.errorText ?? "",
"showBufferInfo": model.showsBufferInfo,
"automaticQuality": model.automaticYouTubeQuality,
"snapToEdges": model.compactWindow.snappingEnabled,
]
do {
let data = try JSONSerialization.data(withJSONObject: snapshot)
@@ -102,6 +108,6 @@ private enum CLIInstanceCheck {
} catch { fatalError("Could not publish CLI instance check: \(error)") }
}
}
TerebiApp.main()
terebiAppMain()
}
}