Как узнать текущую информацию о наиболее актуальных окнах других приложений в macOS? - PullRequest
1 голос
/ 23 мая 2019

Я пишу небольшую программу на macOS как программу меню, которая может определять информацию о окнах другого приложения, такую ​​как положение окна, есть ли у него кнопка по умолчанию и т. Д.

Я могу добавить наблюдателя, чтобы отслеживать, когда другое приложение активировалось, и получать объект NSRunningApplication. Но информация в NSRunningApplication ограничена, включает только имя пакета, URL, значок, скрытую или нет информацию.

@objc func onAppFocusChange(_ notification: NSNotification){
        guard let userInfo = notification.userInfo!["NSWorkspaceApplicationKey"] as? NSRunningApplication else {return}

        guard let appName = userInfo.localizedName else {return}
        print("\(appName)")
}


func addNotifications(){

    NSWorkspace.shared.notificationCenter.addObserver(self, selector: #selector(onAppFocusChange(_:)), name: NSWorkspace.didActivateApplicationNotification, object: nil)
}

Как заголовок моего вопроса, как я могу получить информацию о текущем окне другого приложения, такую ​​как позиция, иерархия подпредставления и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...