+- (NSArray *)windowTitles {
+ NSMutableArray *titles = [[NSMutableArray alloc] initWithCapacity:4];
+ NSArray *windows = CFBridgingRelease(CGWindowListCopyWindowInfo(kCGWindowListOptionAll, kCGNullWindowID));
+ for (NSDictionary *props in windows) {
+ NSNumber *pid = props[(id)kCGWindowOwnerPID];
+ if (pid.longValue == self.processIdentifier && props[(id)kCGWindowName])
+ [titles addObject:props[(id)kCGWindowName]];
+ }
+ return titles;
+}
+
+- (NSString *)frontWindowTitle {
+ return self.windowTitles[0];
+}
+