aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/i3blocks/.local/bin/i3blocks-miniflux
diff options
context:
space:
mode:
Diffstat (limited to 'i3blocks/.local/bin/i3blocks-miniflux')
-rwxr-xr-xi3blocks/.local/bin/i3blocks-miniflux39
1 files changed, 39 insertions, 0 deletions
diff --git a/i3blocks/.local/bin/i3blocks-miniflux b/i3blocks/.local/bin/i3blocks-miniflux
new file mode 100755
index 0000000..f87f1d3
--- /dev/null
+++ b/i3blocks/.local/bin/i3blocks-miniflux
@@ -0,0 +1,39 @@
+#!/usr/bin/env python3
+
+import os
+import subprocess
+
+import requests
+
+ICON = "\U000f046b" # 󰑫
+
+
+def get_count():
+ url = "https://miniflux.tobyvin.dev/v1/feeds/counters"
+ headers = {"X-Auth-Token": os.environ.get("MINIFLUX_TOKEN")}
+ resp = requests.get(url, headers=headers)
+ return sum(resp.json().get("unreads").values())
+
+
+def main():
+ match int(os.environ.get("BLOCK_BUTTON", "0")):
+ case 1:
+ subprocess.run(["xdg-open", "https://miniflux.tobyvin.dev"])
+
+ try:
+ count = get_count()
+ except requests.exceptions.ConnectionError:
+ count = "x"
+
+ print(f" {ICON} {count} \n")
+ match count:
+ case str(c) | int(c) if c > 10:
+ print(f"#{os.environ.get("BASE16_COLOR_00_HEX")}")
+ print(f"#{os.environ.get("BASE16_COLOR_08_HEX")}")
+ case int(c) if c > 0:
+ print(f"#{os.environ.get("BASE16_COLOR_00_HEX")}")
+ print(f"#{os.environ.get("BASE16_COLOR_0A_HEX")}")
+
+
+if __name__ == "__main__":
+ main()