我正在使用Python的xlib绑定编写窗口管理器,并尝试以更具Python风格的方式模仿dwm的行为。目前,我已经得到了大部分我需要的内容,但是我在使用X的内置窗口边框功能来指示窗口焦点时遇到了麻烦。
假设我有一个Xlib窗口类的实例,并且我正确地阅读了文档,那么这应该可以实现我想要的功能(至少目前是这样) - 将预先存在的窗口的窗口边框设置为过于花哨的颜色,并将边框宽度设置为2像素。
然而,我从中得不到任何东西-我可以添加打印语句来证明我的程序确实运行了与事件相关联的回调函数,但是我在边框上绝对没有颜色变化。有人能确定我在这里漏掉了什么吗?如果需要,我可以pastebin一个更完整的示例。我不确定它是否有帮助,因为这是处理边框的唯一部分。
假设我有一个Xlib窗口类的实例,并且我正确地阅读了文档,那么这应该可以实现我想要的功能(至少目前是这样) - 将预先存在的窗口的窗口边框设置为过于花哨的颜色,并将边框宽度设置为2像素。
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()
然而,我从中得不到任何东西-我可以添加打印语句来证明我的程序确实运行了与事件相关联的回调函数,但是我在边框上绝对没有颜色变化。有人能确定我在这里漏掉了什么吗?如果需要,我可以pastebin一个更完整的示例。我不确定它是否有帮助,因为这是处理边框的唯一部分。