aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/i3blocks/.local/bin/i3blocks-dunst
diff options
context:
space:
mode:
Diffstat (limited to 'i3blocks/.local/bin/i3blocks-dunst')
-rwxr-xr-xi3blocks/.local/bin/i3blocks-dunst38
1 files changed, 38 insertions, 0 deletions
diff --git a/i3blocks/.local/bin/i3blocks-dunst b/i3blocks/.local/bin/i3blocks-dunst
new file mode 100755
index 0000000..b21042f
--- /dev/null
+++ b/i3blocks/.local/bin/i3blocks-dunst
@@ -0,0 +1,38 @@
+#!/usr/bin/env python3
+
+import os
+import subprocess
+
+
+def muted():
+ """Returns True if Dunst is muted"""
+ cmd = ["dunstctl", "is-paused"]
+ proc = subprocess.Popen(cmd, stdout=subprocess.PIPE)
+ output = proc.communicate()[0]
+ return "true" == output.strip().decode("UTF-8")
+
+
+def notif(t):
+ """Returns notification count"""
+ cmd = ["dunstctl", "count", t]
+ proc = subprocess.Popen(cmd, stdout=subprocess.PIPE)
+ output = proc.communicate()[0]
+ return int(output.strip().decode("UTF-8"))
+
+
+button = os.environ.get("BLOCK_BUTTON", None)
+
+if button == "1":
+ subprocess.run(["dunstctl", "history-pop"], check=True)
+elif button == "3":
+ subprocess.run(["dunstctl", "set-paused", "toggle"], check=True)
+
+
+if notif("waiting") > 0:
+ print("\uf1f6")
+elif notif("displayed") > 0:
+ print("\uf0f3")
+elif muted():
+ print("\uf1f7")
+else:
+ print("\uf0a2")