我希望能够从 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 等所有这些新奇的窗口管理器一起使用。