aboutsummaryrefslogtreecommitdiff
path: root/blocks
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukas@labunix.xyz>2026-05-19 18:38:39 +0200
committerLukasz Kasprzak <lukas@labunix.xyz>2026-05-19 18:38:39 +0200
commite8cf42f2f17151378574ee5b50f29904a1067bee (patch)
tree86b4db80971ecf9818ad769bd8b7fa337d218731 /blocks
parentc3bfa44d1b6da88c184fc3312944cf47d1dfd7f2 (diff)
downloadbin-main.tar.gz
bin-main.zip
added readmeHEADmain
Diffstat (limited to 'blocks')
-rwxr-xr-xblocks/block-cpu23
-rwxr-xr-xblocks/block-datetime2
-rwxr-xr-xblocks/block-mem2
-rwxr-xr-xblocks/block-net7
-rwxr-xr-xblocks/block-sanctum2
-rwxr-xr-xblocks/block-vol8
-rwxr-xr-xblocks/block-vpn6
7 files changed, 50 insertions, 0 deletions
diff --git a/blocks/block-cpu b/blocks/block-cpu
new file mode 100755
index 0000000..3491608
--- /dev/null
+++ b/blocks/block-cpu
@@ -0,0 +1,23 @@
+#!/bin/sh
+# CPU usage from /proc/stat deltas. Cheaper than `top -bn1`.
+STATE=/tmp/block-cpu.state
+
+read -r _ u n s i io irq sirq st _ < /proc/stat
+total=$((u+n+s+i+io+irq+sirq+st))
+idle=$((i+io))
+
+if [ -r "$STATE" ]; then
+ read -r prev_total prev_idle < "$STATE"
+ dt=$((total - prev_total))
+ di=$((idle - prev_idle))
+ if [ "$dt" -gt 0 ]; then
+ usage=$(( ( (dt - di) * 100 ) / dt ))
+ else
+ usage=0
+ fi
+else
+ usage=0
+fi
+
+echo "$total $idle" > "$STATE"
+echo "${usage}%"
diff --git a/blocks/block-datetime b/blocks/block-datetime
new file mode 100755
index 0000000..dba886f
--- /dev/null
+++ b/blocks/block-datetime
@@ -0,0 +1,2 @@
+#!/bin/sh
+date '+%d %a %H:%M'
diff --git a/blocks/block-mem b/blocks/block-mem
new file mode 100755
index 0000000..50fd29b
--- /dev/null
+++ b/blocks/block-mem
@@ -0,0 +1,2 @@
+#!/bin/sh
+free -m | awk '/^Mem/{printf "%dM\n", $3}'
diff --git a/blocks/block-net b/blocks/block-net
new file mode 100755
index 0000000..d103ae9
--- /dev/null
+++ b/blocks/block-net
@@ -0,0 +1,7 @@
+#!/bin/sh
+iface=$(ip route show default | awk '/default/{print $5; exit}')
+if [ -n "$iface" ] && [ "$(cat /sys/class/net/$iface/carrier 2>/dev/null)" = "1" ]; then
+ echo "online"
+else
+ echo "offline"
+fi
diff --git a/blocks/block-sanctum b/blocks/block-sanctum
new file mode 100755
index 0000000..57e6275
--- /dev/null
+++ b/blocks/block-sanctum
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec ~/.local/bin/sanctum-battery
diff --git a/blocks/block-vol b/blocks/block-vol
new file mode 100755
index 0000000..cb06750
--- /dev/null
+++ b/blocks/block-vol
@@ -0,0 +1,8 @@
+#!/bin/sh
+if command -v pamixer >/dev/null 2>&1; then
+ pamixer --get-volume-human 2>/dev/null
+elif command -v amixer >/dev/null 2>&1; then
+ amixer get Master | awk -F'[][]' 'END{print $2}'
+else
+ echo "n/a"
+fi
diff --git a/blocks/block-vpn b/blocks/block-vpn
new file mode 100755
index 0000000..28ae549
--- /dev/null
+++ b/blocks/block-vpn
@@ -0,0 +1,6 @@
+#!/bin/sh
+if ip link show wg-vps >/dev/null 2>&1; then
+ echo "on"
+else
+ echo "off"
+fi