aerospace fork
Something went wrong. Try again.
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374@MainActorfunc normalizeLayoutReason() async throws { for workspace in Workspace.all { let windows: [Window] = workspace.allLeafWindowsRecursive try await _normalizeLayoutReason(workspace: workspace, windows: windows) } try await _normalizeLayoutReason(workspace: focus.workspace, windows: macosMinimizedWindowsContainer.children.filterIsInstance(of: Window.self)) try await validateStillPopups()}
@MainActorprivate func validateStillPopups() async throws { for node in macosPopupWindowsContainer.children { let popup = (node as! MacWindow) let windowLevel = getWindowLevel(for: popup.windowId) if try await popup.isWindowHeuristic(windowLevel, .cancellable) { try await popup.relayoutWindow(on: focus.workspace, .cancellable) await tryOnWindowDetected(popup) } }}
@MainActorprivate func _normalizeLayoutReason(workspace: Workspace, windows: [Window]) async throws { for window in windows { let isMacosFullscreen = try await window.isMacosFullscreen(.cancellable) let isMacosMinimized = try await (!isMacosFullscreen).andAsync { @MainActor @Sendable in try await window.isMacosMinimized(.cancellable) } let isMacosWindowOfHiddenApp = !isMacosFullscreen && !isMacosMinimized && !config.automaticallyUnhideMacosHiddenApps && window.macAppUnsafe.nsApp.isHidden switch window.layoutReason { case .standard: guard let parent = window.parent else { continue } switch true { case isMacosFullscreen: window.layoutReason = .macos(prevParentKind: parent.kind) window.bind(to: workspace.macOsNativeFullscreenWindowsContainer, adaptiveWeight: WEIGHT_DOESNT_MATTER, index: INDEX_BIND_LAST) case isMacosMinimized: window.layoutReason = .macos(prevParentKind: parent.kind) window.bind(to: macosMinimizedWindowsContainer, adaptiveWeight: 1, index: INDEX_BIND_LAST) case isMacosWindowOfHiddenApp: window.layoutReason = .macos(prevParentKind: parent.kind) window.bind(to: workspace.macOsNativeHiddenAppsWindowsContainer, adaptiveWeight: WEIGHT_DOESNT_MATTER, index: INDEX_BIND_LAST) default: break } case .macos(let prevParentKind): if !isMacosFullscreen && !isMacosMinimized && !isMacosWindowOfHiddenApp { try await exitMacOsNativeUnconventionalState(window: window, prevParentKind: prevParentKind, workspace: workspace, .cancellable) } } }}
@MainActorfunc exitMacOsNativeUnconventionalState( window: Window, prevParentKind: NonLeafTreeNodeKind, workspace: Workspace, _ cm: CancellationMode,) async throws { window.layoutReason = .standard switch prevParentKind { case .floatingWindowsContainer: window.bindAsFloatingWindow(to: workspace) case .workspace: break // Not possible case .tilingContainer: try await window.relayoutWindow(on: workspace, cm, forceTile: true) case .macosPopupWindowsContainer: // Since the window was minimized/fullscreened it was mistakenly detected as popup. Relayout the window try await window.relayoutWindow(on: workspace, cm) case .macosMinimizedWindowsContainer, .macosFullscreenWindowsContainer, .macosHiddenAppsWindowsContainer: // wtf case, should never be possible. But If encounter it, let's just re-layout window try await window.relayoutWindow(on: workspace, cm) }}