使用Python检测OS X中最前端应用程序的更改

时间:2014-08-08 23:45:07

标签: python macos cocoa pyobjc

如果正在使用Safari / Chrome,我使用pyobjc创建了一个应用程序来监控当前使用的应用程序或当前URL。我使用以下方式获得最前面的应用程序:

active_app_name = NSWorkspace.sharedWorkspace().frontmostApplication().localizedName()

在一个循环中运行,每秒检索一次信息。然而,考虑到我可以丢失超过30秒的信息,这个解决方案似乎效率低下。

我想知道是否有使用事件的解决方案,即有一个观察者在当前最前面的应用程序发生变化时进行监听。

我找到了这个答案Mac OS X - How to monitor a window change event?,但有两个问题:1。我只需要有关应用程序的信息而不是特定窗口的信息,以及2.我不知道如何将这些消息转换为Python代码。

AppleScript解决方案是合适的,因为我可以使用osascript从Python调用它。

谢谢!

0 个答案:

没有答案