Skip to main content
 首页 » 编程设计

python之使用 python Xlib 重命名窗口

2025年05月04日9soundcode

使用 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()...我确定我做错了什么,但这同样有效:)