Şu anda hangi uygulamanın Python'dan X11 ekranıma odaklandığını izlemek istiyorum. Amaç, bir zamanlama aracına bağlamaktır, böylece ne kadar zaman verimsiz kaldığımı takip edebilirim.Geçerli olarak odaklanmış uygulamayı nasıl algılayabilirim?
Zaten http://thpinfo.com/2007/09/x11-idle-time-and-focused-window-in.html bu kodu bulundu:
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(),)
Ancak, benim için çalışmak görünmüyor. Görünüşe göre, hangi uygulamanın odaklandığı önemli değil, hem get_wm_class() hem de get_wm_name() öğesi sadece None (Hiçbiri) döndürmez.
Elbette çözüm, Compiz gibi tüm bu yeni pencereli pencere yöneticileri ile çalışması gerekir.
Yani, window.query_tree() 'aslında ne yapar? İstediğim sonucu elde etmek için de kullandım, ama arkasındaki anlam/işlev hala benim için bir gizem. Python Xlib dokümanları da pek yardımcı değil. – erb