11import AppKit
22import Foundation
33import Preferences
4+ import Status
45import SuggestionBasic
56import XcodeInspector
67import Logger
@@ -14,10 +15,6 @@ extension AppDelegate {
1415 . init( " xcodeInspectorDebugMenu " )
1516 }
1617
17- fileprivate var accessibilityAPIPermissionMenuItemIdentifier : NSUserInterfaceItemIdentifier {
18- . init( " accessibilityAPIPermissionMenuItem " )
19- }
20-
2118 fileprivate var sourceEditorDebugMenu : NSUserInterfaceItemIdentifier {
2219 . init( " sourceEditorDebugMenu " )
2320 }
@@ -72,12 +69,12 @@ extension AppDelegate {
7269 xcodeInspectorDebug. submenu = xcodeInspectorDebugMenu
7370 xcodeInspectorDebug. isHidden = false
7471
75- let accessibilityAPIPermission = NSMenuItem (
76- title: " Accessibility Permission: N/A " ,
77- action: nil ,
72+ statusMenuItem = NSMenuItem (
73+ title: " " ,
74+ action: #selector ( openStatusLink ) ,
7875 keyEquivalent: " "
7976 )
80- accessibilityAPIPermission . identifier = accessibilityAPIPermissionMenuItemIdentifier
77+ statusMenuItem . isHidden = true
8178
8279 let quitItem = NSMenuItem (
8380 title: " Quit " ,
@@ -126,7 +123,7 @@ extension AppDelegate {
126123 statusBarMenu. addItem ( toggleIgnoreLanguage)
127124 statusBarMenu. addItem ( . separator( ) )
128125 statusBarMenu. addItem ( copilotStatus)
129- statusBarMenu. addItem ( accessibilityAPIPermission )
126+ statusBarMenu. addItem ( statusMenuItem )
130127 statusBarMenu. addItem ( . separator( ) )
131128 statusBarMenu. addItem ( openDocs)
132129 statusBarMenu. addItem ( openForum)
@@ -160,22 +157,14 @@ extension AppDelegate: NSMenuDelegate {
160157 item. identifier == toggleIgnoreLanguageMenuItemIdentifier
161158 } ) {
162159 if let lang = DisabledLanguageList . shared. activeDocumentLanguage {
163- toggleLanguage. title = " \( DisabledLanguageList . shared. isEnabled ( lang) ? " Disable " : " Enable " ) Completions For \( lang. rawValue) "
160+ toggleLanguage. title = " \( DisabledLanguageList . shared. isEnabled ( lang) ? " Disable " : " Enable " ) Completions for \( lang. rawValue) "
164161 toggleLanguage. action = #selector( toggleIgnoreLanguage)
165162 } else {
166163 toggleLanguage. title = " No Active Document "
167164 toggleLanguage. action = nil
168165 }
169166 }
170167
171- if let accessibilityAPIPermission = menu. items. first ( where: { item in
172- item. identifier == accessibilityAPIPermissionMenuItemIdentifier
173- } ) {
174- AXIsProcessTrusted ( )
175- accessibilityAPIPermission. title =
176- " Accessibility Permission: \( AXIsProcessTrusted ( ) ? " Granted " : " Not Granted " ) "
177- }
178-
179168 statusChecker. updateStatusInBackground ( notify: { ( status: String , isOk: Bool ) in
180169 if let statusItem = menu. items. first ( where: { item in
181170 item. identifier == self . copilotStatusMenuItemIdentifier
@@ -321,6 +310,15 @@ private extension AppDelegate {
321310 }
322311 }
323312 }
313+
314+ @objc func openStatusLink( ) {
315+ Task {
316+ let status = await Status . shared. getStatus ( )
317+ if let s = status. url, let url = URL ( string: s) {
318+ NSWorkspace . shared. open ( url)
319+ }
320+ }
321+ }
324322}
325323
326324private extension NSMenuItem {
0 commit comments