使用Xlib模块进行python,我已经设法通过分别调用configure()和destroy()以及display.sync()来移动,调整大小和销毁窗口。
但是,我似乎无法重命名现有的窗口。以下代码输出'foo':
window.set_wm_name('foo')
window.set_wm_icon_name('foo')
print window.get_wm_name()
这表明对象正确更新。但是,在我的屏幕上,即使在调用display.sync()之后,窗口的标题也完全没有变化。我是否正确使用了set_wm_name函数,是否应该根据这类任务使用它们?
答案 0 :(得分: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()...我确定我做错了什么,但这也很有效:)