Ariver
2026-06-28 9ba7cd3b47fb91eaaa8d0c3df8b7286a89be1756
C1.source/Sources/AlignerCore/Windows/WindowEnumerationPolicy.swift
@@ -22,6 +22,7 @@
    public let activationPolicy: AlignerActivationPolicy
    public let title: String
    public let size: CGSize
    public let frame: CGRect?
    public let subrole: AlignerWindowSubrole
    public let isMinimized: Bool
    public let isFullscreen: Bool
@@ -40,6 +41,7 @@
        title: String,
        identifierSource: AlignerWindow.IdentifierSource = .cgWindow,
        size: CGSize,
        frame: CGRect? = nil,
        subrole: AlignerWindowSubrole,
        isMinimized: Bool = false,
        isFullscreen: Bool = false,
@@ -57,6 +59,7 @@
        self.activationPolicy = activationPolicy
        self.title = title
        self.size = size
        self.frame = frame
        self.subrole = subrole
        self.isMinimized = isMinimized
        self.isFullscreen = isFullscreen
@@ -90,6 +93,24 @@
        return record.isMinimized || record.isFullscreen || isLargeEnough(record.size)
    }
    public static func shouldIncludeAXOnlyRecord(
        identifierSource: AlignerWindow.IdentifierSource,
        isMinimized: Bool,
        isFullscreen: Bool,
        spaceIDs: [UInt64]
    ) -> Bool {
        if identifierSource == .syntheticAX {
            return isMinimized
        }
        if isMinimized {
            return true
        }
        if isFullscreen {
            return !spaceIDs.isEmpty
        }
        return false
    }
    private static func hasSupportedActivationPolicy(_ record: WindowEnumerationRecord) -> Bool {
        record.activationPolicy == .regular
            || (record.activationPolicy == .accessory && isKnownAccessoryMainWindow(record))
@@ -106,6 +127,7 @@
            isMinimized: record.isMinimized,
            isFullscreen: record.isFullscreen,
            isGhost: record.isGhost,
            frame: record.frame,
            spaceIDs: record.spaceIDs
        )
    }