Fixes for multi-window support. (#5528)

* Correctly handle the re-opening of the main window.

Add an additional safe-guard to ensure only one main window exists.
Make sure all secondary windows use the correct tint colour.

* Fix a bug where the settings screen isn't shown on macOS when the AppLock feature is enabled.
This commit is contained in:
Doug
2026-05-01 14:44:04 +01:00
committed by GitHub
parent c1184b748d
commit 9015c3e483
11 changed files with 77 additions and 17 deletions
@@ -14,8 +14,18 @@ import SwiftUI
class SceneDelegate: NSObject, UIWindowSceneDelegate {
weak static var windowManager: SecureWindowManagerProtocol!
/// The app's main window scene identifier.
static let mainSceneID = "Main"
/// The user info key used by SwiftUI for a `WindowGroup`s `id` parameter.
static let sceneIDKey = "com.apple.SwiftUI.sceneID"
func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
guard let windowScene = scene as? UIWindowScene else { return }
Self.windowManager.configure(withScene: windowScene, session: session)
}
func sceneDidDisconnect(_ scene: UIScene) {
guard let windowScene = scene as? UIWindowScene else { return }
Self.windowManager.handleSceneDisconnection(windowScene)
}
}