After stackoverflow answered my previous question on here about my Wiimote left/right click issue, Not only can I move the mouse cursor, I can now left/right click on things. I now have one more question.
What do I use in python to get the title of the current active window? After googling 'X11 Python Window Title', 'Linux Python Window Title' and things similar, All I've found is win32 and tkinker (again?), which isn't what I need.
If you could help, That would be awesome!
EDIT
best way:
import gtk
import wnck
import glib
class WindowTitle(object):
def __init__(self):
self.title = None
glib.timeout_add(100, self.get_title)
def get_title(self):
try:
title = wnck.screen_get_default().get_active_window().get_name()
if self.title != title:
self.title = title
print title
except AttributeError:
pass
return True
WindowTitle()
gtk.main()
Alternative way:
from subprocess import PIPE, Popen
import time
title = ''
root_check = ''
while True:
time.sleep(0.6)
root = Popen(['xprop', '-root'], stdout=PIPE)
if root.stdout != root_check:
root_check = root.stdout
for i in root.stdout:
if '_NET_ACTIVE_WINDOW(WINDOW):' in i:
id_ = i.split()[4]
id_w = Popen(['xprop', '-id', id_], stdout=PIPE)
for j in id_w.stdout:
if 'WM_ICON_NAME(STRING)' in j:
if title != j.split()[2]:
title = j.split()[2]
print "current window title: %s" % title
I noticed that wnck requires GTK event loop to update the active window. There is no such problem with Xlib:
import Xlib
import Xlib.display
disp = Xlib.display.Display()
window = disp.get_input_focus().focus
# Get active window class and name
window.get_wm_class()
window.get_wm_name()
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With