@@ -2,16 +2,43 @@ import AppKit
22import Foundation
33
44public class AppInstanceInspector : ObservableObject {
5+ let runningApplication : NSRunningApplication
6+ public let processIdentifier : pid_t
7+ public let bundleURL : URL ?
8+ public let bundleIdentifier : String ?
9+
510 public var appElement : AXUIElement {
6- AXUIElementCreateApplication ( runningApplication. processIdentifier)
11+ return AXUIElementCreateApplication ( runningApplication. processIdentifier)
12+ }
13+
14+ public var isTerminated : Bool {
15+ return runningApplication. isTerminated
16+ }
17+
18+ public var isActive : Bool {
19+ guard !runningApplication. isTerminated else { return false }
20+ return runningApplication. isActive
21+ }
22+
23+ public var isXcode : Bool {
24+ guard !runningApplication. isTerminated else { return false }
25+ return runningApplication. isXcode
26+ }
27+
28+ public var isExtensionService : Bool {
29+ guard !runningApplication. isTerminated else { return false }
30+ return runningApplication. isCopilotForXcodeExtensionService
31+ }
32+
33+ public func activate( ) -> Bool {
34+ return runningApplication. activate ( )
735 }
8- public let runningApplication : NSRunningApplication
9- public var isActive : Bool { runningApplication. isActive }
10- public var isXcode : Bool { runningApplication. isXcode }
11- public var isExtensionService : Bool { runningApplication. isCopilotForXcodeExtensionService }
1236
1337 init ( runningApplication: NSRunningApplication ) {
1438 self . runningApplication = runningApplication
39+ processIdentifier = runningApplication. processIdentifier
40+ bundleURL = runningApplication. bundleURL
41+ bundleIdentifier = runningApplication. bundleIdentifier
1542 }
1643}
1744
0 commit comments