| | |
| | | private var lifecycleResidualOverlayWindows = 0 |
| | | private var lifecycleResidualVisibleOverlayWindows = 0 |
| | | var onSnapshotUpdated: (() -> Void)? |
| | | var onOpenSettings: (() -> Void)? |
| | | |
| | | private struct PendingCloseVerification { |
| | | let request: QuickSwitchCloseRequest |
| | |
| | | } |
| | | view.onBackgroundClick = { [weak self] in |
| | | self?.handleBackgroundClick() ?? false |
| | | } |
| | | view.onOpenSettings = { [weak self] in |
| | | self?.onOpenSettings?() |
| | | } |
| | | view.setSuppressEventInput(!debugMouseSequence.isEmpty || !debugKeySequence.isEmpty) |
| | | view.onRequestClose = { [weak self] request in |
| | |
| | | "result": Self.closeResultString(result) |
| | | ]) |
| | | if result == .requested { |
| | | suppressCloseTarget(request) |
| | | DevelopmentDiagnostics.log("quickSwitch.close.request.refreshAfterClose", [ |
| | | "targetKind": request.kindDescription, |
| | | "appGroupIndex": request.appGroupIndex, |
| | | "appName": request.appName, |
| | | "windowID": request.windowID |
| | | "windowID": request.windowID, |
| | | "optimisticRemove": false |
| | | ]) |
| | | pendingCloseVerification = PendingCloseVerification( |
| | | request: request, |