有沒有一種方法可以通過Python和AppKit找到OSX中activeApplication更改的時間?我知道如何找出launchedApplication和activeApplication(請參考我的其他問題在這裏:Finding the Current Active Window in Mac OS X using Python)通過Python在OSX中更改ActiveApplication
0
A
回答
1
我已經polling with an NSTimer了an OS X app做這個。我試着搜索分佈式通知,看看能否找到更好的方法來做到這一點,但我看不到任何有用的東西。
當應用程序爲launched或quit時,我確實收到通知。這至少有一點幫助。你可以看到這些註冊的地方我的controller wakes up。
這個應用程序對我來說非常有幫助,甚至每秒輪詢一次幾乎不用CPU。但是,如果我能讓事件更加活躍,我會的。 :)
0
我不知道有一個'官方'/好方法來做到這一點,但一個棘手的方式去做這件事是聽任何分佈式的通知,並看到哪些總是被觸發時,最前端的應用程序更改,這樣你就可以聽一個:
您可以設置這樣的事情了:
def awakeFromNib(self):
NSDistributedNotificationCenter.defaultCenter().addObserver_selector_name_object_(
self, 'someNotification:', None, None)
def someNotification_(self, notification):
NSLog(notification.name())
你發現了一個通知時,應用程序切換總是觸發後,可以更換一次「無'在addObserver_etc_調用中使用該通知的名稱,並在'someNotification_'方法中檢查最前面的應用程序。
在我而言,我注意到,「AppleSelectedInputSourcesChangedNotification」解僱每次我打開的應用程序,所以我會聽的..
請記住,這可以打破任何時刻,你會prolly被檢查的在最前面的應用程序更改比往往更需要。
雖然..一定有更好的辦法..希望:)
相關問題
- 1. 權限更改在OSX
- 2. 如何在Python中通過網絡同步列表更改
- 3. 通過python在windows 10中更改桌面背景
- 4. 在運行時更改OSX通知中心圖標
- 5. 在gmail中通過api更改設置?
- 6. 在ruby中通過引用更改值
- 7. ArrayList通過更改其副本更改
- 8. 如何在Mac OSX上更改plpython使用的Python版本?
- 9. 如何通過python更改CSV文件中的值?
- 10. OSX 64位C++通過線
- 11. 更新通過使用python
- 12. 更改在Python
- 13. 更改話筒增益編程在OSX
- 14. 如何在Mac OSX上更改mysql $ PATH?
- 15. 更改通過視圖
- 16. 更改/通過終端
- 17. 通過javascript更改href
- 18. 通過xaml更改Zindex
- 19. 通過XML更改URLRequests,as3
- 20. DateFormatter通過更改500年
- 21. 通過js更改li類
- 22. 通過NuGet包更改Global.asax?
- 23. 通過PHP更改URL
- 24. 通過onConfigurationChanged()更改方向?
- 25. RecipientId通過docusign更改
- 26. 通過Javascript更改圖像?
- 27. GITHUB magento通過ftp更改
- 28. Highcharts通過javascript更改pointPlacement
- 29. 在OSX上通過Java訪問iSight
- 30. 通過在Python