我希望能够跟踪哪些应用程序目前专注于Python中的X11显示。目的是将其绑定到一个时间跟踪工具中,以便我可以跟踪我花费多少时间来降低生产力。如何检测当前重点应用程序?
我已经发现这个代码在http://thpinfo.com/2007/09/x11-idle-time-and-focused-window-in.html:
import Xlib.display
display = Xlib.display.Display()
focus = display.get_input_focus()
print "WM Class: %s" % (focus.focus.get_wm_class(),)
print "WM Name: %s" % (focus.focus.get_wm_name(),)
然而,它似乎并没有为我工作。显然,无论哪个应用程序集中,get_wm_class()和get_wm_name()都只返回None。
当然,解决方案需要与Compiz等所有这些新的混合窗口管理器一起工作。
那么,window.query_tree()实际上做了什么?我发现我也用它来获得所需的结果,但它背后的意义/功能对我来说仍然有点神秘。 Python Xlib文档也没有太大的帮助。 – erb 2015-07-15 09:03:13