2012-04-03 40 views
2

使用Xlib模塊for 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()...我敢肯定,IM做得不對,但是這工作也一樣:)