使用 python 的 Xlib 模块,我已经通过分别调用 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 函数,如果它们应该用于此类任务?
请您参考如下方法:
我知道这个答案我来晚了,但也许有人会觉得它有用
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()...我确定我做错了什么,但这同样有效:)
