From 0b35ebf0ffe94390905235df9658e9b16ba679db Mon Sep 17 00:00:00 2001 From: Louis Pontoise Date: Wed, 25 Mar 2020 03:27:30 +0900 Subject: [PATCH] fix: chrome shortcuts apps don't show up (closes #185) --- src/api-wrappers/AXUIElement.swift | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/api-wrappers/AXUIElement.swift b/src/api-wrappers/AXUIElement.swift index 50b224b9..f7eabf18 100644 --- a/src/api-wrappers/AXUIElement.swift +++ b/src/api-wrappers/AXUIElement.swift @@ -15,13 +15,12 @@ extension AXUIElement { func isActualWindow(_ runningApplication: NSRunningApplication) -> Bool { // TODO: TotalFinder and XtraFinder double-window hacks (see #84) - // Some non-windows have subrole: nil (e.g. some OS elements), "AXUnknown" (e.g. Bartender), "AXSystemDialog" (e.g. Intellij tooltips) // Some non-windows have title: nil (e.g. some OS elements) + // Some non-windows have subrole: nil (e.g. some OS elements), "AXUnknown" (e.g. Bartender), "AXSystemDialog" (e.g. Intellij tooltips) // Minimized windows or windows of a hidden app have subrole "AXDialog" // Activity Monitor main window subrole is "AXDialog" for a brief moment at launch; it then becomes "AXStandardWindow" - return title() != nil && - (["AXStandardWindow", "AXDialog"].contains(subrole()) || isMinimized() || runningApplication.isHidden) && - isOnNormalLevel() + // CGWindowLevel == .normalWindow helps filter out iStats Pro and other top-level pop-overs + return ["AXStandardWindow", "AXDialog"].contains(subrole()) && isOnNormalLevel() } func isOnNormalLevel() -> Bool {