diff --git a/src/api-wrappers/AXUIElement.swift b/src/api-wrappers/AXUIElement.swift index a4b3eba8..bf4ec1af 100644 --- a/src/api-wrappers/AXUIElement.swift +++ b/src/api-wrappers/AXUIElement.swift @@ -57,6 +57,8 @@ extension AXUIElement { isOnNormalLevel && (["AXStandardWindow", "AXDialog"].contains(subrole) || steam(runningApp, title, role) || + worldOfWarcraft(runningApp, role) || + battleNetBootstrapper(runningApp, role) || firefoxFullscreenVideo(runningApp, role) || androidEmulator(runningApp, title) || sanGuoShaAirWD(runningApp) || @@ -64,6 +66,16 @@ extension AXUIElement { drBetotte(runningApp)) } + private func worldOfWarcraft(_ runningApp: NSRunningApplication, _ role: String?) -> Bool { + // Battlenet bootstrapper windows have subrole == AXUnknown + return runningApp.bundleIdentifier == "com.blizzard.worldofwarcraft" && role == "AXWindow" + } + + private func battleNetBootstrapper(_ runningApp: NSRunningApplication, _ role: String?) -> Bool { + // Battlenet bootstrapper windows have subrole == AXUnknown + return runningApp.bundleIdentifier == "net.battle.bootstrapper" && role == "AXWindow" + } + private func drBetotte(_ runningApp: NSRunningApplication) -> Bool { return runningApp.bundleIdentifier == "com.ssworks.drbetotte" }