画面上のウィンドウの位置をロックする必要があるプログラムを作成しています.これを行う簡単な方法は _NET_WM_ALLOWED_ACTIONS を使用することですが、明らかに機能しなかったか、どのように機能するかわかりませんxD..次のようなイベントを送信しようとしました:
def getatom (atom):
return self.display.intern_atom(atom)
data = [getatom("_NET_WM_ACTION_ABOVE"),getatom("_NET_WM_ACTION_CLOSE"),
getatom("_NET_WM_ACTION_BELOW"),getatom("_NET_WM_ACTION_CHANGE_DESKTOP"),
getatom("_NET_WM_ACTION_SHADE")]
state = getatom("_NET_WM_ALLOWED_ACTIONS")
event = Xlib.protocol.event.ClientMessage(window = window, client_type = state, data = (32, data))
root.send_event(event, X.SubstructureRedirectMask)
self.display.sync()
xprop を使用する場合、許可されているアクションは _NET_WM_ACTION_ABOVE、_NET_WM_ACTION_CLOSE、_NET_WM_ACTION_BELOW、_NET_WM_ACTION_CHANGE_DESKTOP、および _NET_WM_ACTION_SHADE ですが、ウィンドウを移動することはできます。例を挙げていただければ幸いです。