diff --git a/MacPass/NSRunningApplication+MPAdditions.m b/MacPass/NSRunningApplication+MPAdditions.m index 40839a9a..3669a7a5 100644 --- a/MacPass/NSRunningApplication+MPAdditions.m +++ b/MacPass/NSRunningApplication+MPAdditions.m @@ -14,6 +14,22 @@ NSString *const MPWindowTitleKey = @"MPWindowTitleKey"; NSString *const MPProcessIdentifierKey = @"MPProcessIdentifierKey"; +NSSet *bogusWindowTitles() { + static NSSet *titles; + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + titles = [NSSet setWithArray:@[@"Item-0"]]; + }); + return titles; +} + +BOOL skipWindowTitle(NSString *windowTitle) { + if(windowTitle.length <= 0) { + return YES; + } + return [bogusWindowTitles() containsObject:windowTitle]; +} + @implementation NSRunningApplication (MPAdditions) - (NSDictionary *)mp_infoDictionary { @@ -23,7 +39,8 @@ NSString *const MPProcessIdentifierKey = @"MPProcessIdentifierKey"; NSDictionary *infoDict = nil; for(NSDictionary *windowDict in currentWindows) { NSString *windowTitle = windowDict[(NSString *)kCGWindowName]; - if(windowTitle.length <= 0) { + /* skip a list of well know useless window-titles */ + if(skipWindowTitle(windowTitle)) { continue; } NSNumber *processId = windowDict[(NSString *)kCGWindowOwnerPID];