i3-companion: reduce a bit the code to query battery status

This commit is contained in:
Vincent Bernat 2022-03-31 09:21:54 +02:00
parent fcd75c38b4
commit 9ba3f624d1

View file

@ -844,17 +844,16 @@ async def bluetooth_status(i3, event, *args):
fut = loop.create_future() fut = loop.create_future()
loop._sock_connect(fut, sock, (mac, 8)) loop._sock_connect(fut, sock, (mac, 8))
await fut await fut
# Init # Get battery
await loop.sock_sendall(sock, b"\0\1\1\0") for send, ack, size in (
ack = await loop.sock_recv(sock, 4) (b"\0\1\1\0", b"\0\1\3\5", 5), # get firmware
assert ack == b"\0\1\3\5" (b"\2\2\1\0", b"\2\2\3\1", 1), # get battery
await loop.sock_recv(sock, 5) # firmware ):
# Battery level await loop.sock_sendall(sock, send)
await loop.sock_sendall(sock, b"\2\2\1\0") rack = await loop.sock_recv(sock, len(ack))
ack = await loop.sock_recv(sock, 4) assert rack == ack, "incorrect ack received"
assert ack == b"\2\2\3\1" result = await loop.sock_recv(sock, size)
battery = await loop.sock_recv(sock, 1) battery = result[0]
battery = battery[0]
finally: finally:
sock.close() sock.close()
# Choose an icon # Choose an icon