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などのこれらすべての新しいウィンドウマネージャーと連携する必要があります。