我正在开发一个使用 python 的 xlib 绑定编写的窗口管理器,并且我(最初)试图以更 Pythonic 的方式模仿 dwm 的行为。我已经得到了很多我需要的东西,但是我在使用 X 的内置窗口边框功能来指示窗口焦点时遇到了麻烦。
假设我有一个 Xlib 窗口类的实例并且我正在正确阅读文档,这应该做我想做的事情(至少现在) - 将预先存在的窗口的窗口边框设置为花哨的颜色并设置边框宽度为 2px。
def set_active_border(self, window):
border_color = self.colormap.alloc_named_color(\
"#ff00ff").pixel
window.change_attributes(None,border_pixel=border_color,
border_width = 2 )
self.dpy.sync()
但是,我没有得到任何结果——我可以添加打印语句来证明我的程序确实在运行与事件关联的回调函数,但我在边框上绝对没有颜色变化。谁能确定我在这里缺少什么?如果有帮助,我可以粘贴一个更完整的示例。我不确定它会不会,因为这是处理边界的唯一位。