私はPythonのxlibバインディングを使用して作成されたウィンドウマネージャーに取り組んでおり、(最初は)よりPython的な方法で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()
ただし、これからは何も得られません。printステートメントを追加して、プログラムがイベントに関連付けたコールバック関数を実際に実行していることを証明できますが、境界線の色はまったく変化しません。誰かが私がここで欠けているものを正確に特定できますか?それが助けになるなら、私はより完全な例をペーストビンすることができます。これが境界線を処理する唯一のビットであるため、正確にはわかりません。