@@ -12,6 +12,10 @@ extension AppDelegate {
1212 . init( " xcodeInspectorDebugMenu " )
1313 }
1414
15+ fileprivate var accessibilityAPIPermissionMenuItemIdentifier : NSUserInterfaceItemIdentifier {
16+ . init( " accessibilitAPIPermissionMenuItem " )
17+ }
18+
1519 @objc func buildStatusBarMenu( ) {
1620 let statusBar = NSStatusBar . system
1721 statusBarItem = statusBar. statusItem (
@@ -61,6 +65,13 @@ extension AppDelegate {
6165 xcodeInspectorDebug. submenu = xcodeInspectorDebugMenu
6266 xcodeInspectorDebug. isHidden = false
6367
68+ let accessibilityAPIPermission = NSMenuItem (
69+ title: " Accessibility API Permission: N/A " ,
70+ action: nil ,
71+ keyEquivalent: " "
72+ )
73+ accessibilityAPIPermission. identifier = accessibilityAPIPermissionMenuItemIdentifier
74+
6475 let quitItem = NSMenuItem (
6576 title: " Quit " ,
6677 action: #selector( quit) ,
@@ -75,6 +86,7 @@ extension AppDelegate {
7586 statusBarMenu. addItem ( openGlobalChat)
7687 statusBarMenu. addItem ( . separator( ) )
7788 statusBarMenu. addItem ( xcodeInspectorDebug)
89+ statusBarMenu. addItem ( accessibilityAPIPermission)
7890 statusBarMenu. addItem ( quitItem)
7991
8092 statusBarMenu. delegate = self
@@ -92,6 +104,15 @@ extension AppDelegate: NSMenuDelegate {
92104 xcodeInspectorDebug. isHidden = !UserDefaults. shared
93105 . value ( for: \. enableXcodeInspectorDebugMenu)
94106 }
107+
108+ if let accessibilityAPIPermission = menu. items. first ( where: { item in
109+ item. identifier == accessibilityAPIPermissionMenuItemIdentifier
110+ } ) {
111+ AXIsProcessTrusted ( )
112+ accessibilityAPIPermission. title =
113+ " Accessibility API Permission: \( AXIsProcessTrusted ( ) ? " Granted " : " Not Granted " ) "
114+ }
115+
95116 case xcodeInspectorDebugMenuIdentifier:
96117 let inspector = XcodeInspector . shared
97118 menu. items. removeAll ( )
@@ -117,7 +138,7 @@ extension AppDelegate: NSMenuDelegate {
117138 . append ( . text( " Active Workspace: \( xcode. workspaceURL? . path ?? " N/A " ) " ) )
118139 xcodeMenu. items
119140 . append ( . text( " Active Document: \( xcode. documentURL? . path ?? " N/A " ) " ) )
120-
141+
121142 for (key, workspace) in xcode. realtimeWorkspaces {
122143 let workspaceItem = NSMenuItem (
123144 title: " Workspace \( key) " ,
@@ -157,3 +178,4 @@ private extension NSMenuItem {
157178 return item
158179 }
159180}
181+
0 commit comments