2012-04-03 2 views
2

Используя модуль Xlib для python, мне удалось переместить, изменить размер и уничтожить окна, вызвав configure() и destroy() соответственно, а затем display.sync().Переименование окон с помощью python Xlib

Однако я не могу переименовать существующие окна. Следующий код выводит «foo»:

window.set_wm_name('foo') 
window.set_wm_icon_name('foo') 
print window.get_wm_name() 

, который предполагает, что объект обновляется должным образом. На моем экране, однако, заголовок окна не меняется вообще, даже после вызова display.sync(). Я правильно использую функции set_wm_name, если они вообще должны использоваться для такого рода задач?

ответ

0

Я знаю, что им поздно экстремально с этим ответом, но, возможно, кто-то найдет это ПОЛЕЗНЫЕ

from Xlib.display import Display 
from Xlib.Xatom import STRING 


display = Display() 
root = display.screen().root 
#view the current WM_NAME 
a = root.get_full_property(display.intern_atom('_NET_WM_NAME'), STRING) 
print a.value 
#Actualy change WM_NAME 
root.change_property(display.intern_atom('_NET_WM_NAME'), STRING, 8, ' MyApp') 


#read the name again 
b = root.get_full_property(display.intern_atom('_NET_WM_NAME'), STRING) 
print b.value 

Я не смог получить window.get_wm_name() ... Я уверен, что я делаю что-то неправильно, но это работает так же хорошо :)

Смежные вопросы