WingoWMのPythonScriptサンプルをPython3用に直してみた
WingoはWindow Managerの1つでGolang製です。 が、socketでPythonからWingo-cmdのコマンドを実行できます。サンプルがPython2系だったのでPython3系に書き直してみた。
本当はMessage
に色々やらせたいんだけどただの文字列以外だとどうにも動いてくれないので一旦保留かな。
19:30追記 'Message "%s"' % hoge
の形で可能だった。はー。
# -*- coding:UTF-8 -*- import os import os.path import socket sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) f = os.path.join(os.getenv('XDG_RUNTIME_DIR'), 'wingo', os.getenv('DISPLAY') + '.0') sock.connect(f) def recv(sock): data = '' while chr(0) not in data: data += sock.recv(4096).decode() return data def gribble(cmd): message = ("%s%s" % (cmd, chr(0))) sock.send(message.encode('utf-8')) return recv(sock) print(gribble('GetClientName (GetActive)')) sock.close()