blob: ddb1d6807bffc0cc9fb37149576d2848f8f7b06f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
#!/usr/bin/env python3
import os
import json
ICON = "\U000f0ee0" #
BLACK = f"#{os.environ.get("BASE16_COLOR_00_HEX")}"
RED = f"#{os.environ.get("BASE16_COLOR_08_HEX")}"
YELLOW = f"#{os.environ.get("BASE16_COLOR_0A_HEX")}"
AQUA = f"#{os.environ.get("BASE16_COLOR_0C_HEX")}"
def main():
off = json.loads(os.environ.get("values", json.dumps([0 for i in range(10)])))
with open("/proc/stat", "r") as f:
val = [int(x) for x in f.readline().strip().split(" ")[2:]]
if elapsed := sum(val + off):
usage = sum(val[0:3] + val[5:] + off[0:3] + off[5:]) / elapsed
else:
usage = 0
output = {
"full_text": " {} {:.0%} ".format(ICON, usage),
"values": [-x for x in val],
}
if usage > 0.9:
output["color"] = BLACK
output["background"] = RED
elif usage > 0.6:
output["color"] = BLACK
output["background"] = YELLOW
elif usage > 0.3:
output["color"] = BLACK
output["background"] = AQUA
print(json.dumps(output, ensure_ascii=False), flush=True)
if __name__ == "__main__":
main()
|