#!/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()