aboutsummaryrefslogtreecommitdiffstats
path: root/modules/by-name/ya/yambar/scripts
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2024-11-29 18:51:52 +0100
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2024-11-29 19:37:38 +0100
commit2138b4624eae088a81852f50b3a8f50fc0431a10 (patch)
tree701f7fdd68775c4c1589db463ef4ed37458c354c /modules/by-name/ya/yambar/scripts
parentchore(pkgs/by-name/ya/{cpu,memory}): Merge (diff)
downloadnixos-config-2138b4624eae088a81852f50b3a8f50fc0431a10.zip
refactor(modules/legacy/conf/yambar): Move to `by-name` and modernize
Diffstat (limited to 'modules/by-name/ya/yambar/scripts')
-rwxr-xr-xmodules/by-name/ya/yambar/scripts/disk.sh21
-rwxr-xr-xmodules/by-name/ya/yambar/scripts/mpd_song_name.sh21
-rwxr-xr-xmodules/by-name/ya/yambar/scripts/network.sh47
-rwxr-xr-xmodules/by-name/ya/yambar/scripts/sound-volume.sh20
4 files changed, 109 insertions, 0 deletions
diff --git a/modules/by-name/ya/yambar/scripts/disk.sh b/modules/by-name/ya/yambar/scripts/disk.sh
new file mode 100755
index 00000000..a5547a74
--- /dev/null
+++ b/modules/by-name/ya/yambar/scripts/disk.sh
@@ -0,0 +1,21 @@
+#! /usr/bin/env dash
+
+# shellcheck source=/dev/null
+SHELL_LIBRARY_VERSION="2.1.2" . %SHELL_LIBRARY_PATH
+
+# Main loop
+while true; do
+ # vars
+ used_space=$(btrfs filesystem usage /srv 2>/dev/null | awk '{if ( /Used:/ ) { print $2 } } ' | head -n1)
+ all_space=$(btrfs filesystem usage /srv 2>/dev/null | awk '{if ( /Device size:/ ) { print $3 } } ' | head -n1 | tr -d "GiB")
+
+ # Check space available (4) and percentage used (5)
+ spaceperc=$(echo "$(echo "$used_space" | tr -d "GiB")" "$all_space" | awk '{div=$1/$2;div *= 100; printf"%2d%%\n",div }')
+
+ echo "diskspace|string|$used_space"
+ echo "diskperc|string|$spaceperc"
+ echo ""
+ sleep 1
+done
+
+# vim: ft=sh
diff --git a/modules/by-name/ya/yambar/scripts/mpd_song_name.sh b/modules/by-name/ya/yambar/scripts/mpd_song_name.sh
new file mode 100755
index 00000000..7d294781
--- /dev/null
+++ b/modules/by-name/ya/yambar/scripts/mpd_song_name.sh
@@ -0,0 +1,21 @@
+#!/usr/bin/env dash
+
+# shellcheck source=/dev/null
+SHELL_LIBRARY_VERSION="2.1.2" . %SHELL_LIBRARY_PATH
+
+while true; do
+ state="$(mpc status '%state%')"
+
+ if [ "$state" = "playing" ]; then
+ song="$(mpc --format '[[%artist% - ]%title%]|[%file%]' current)"
+ echo "playing|bool|true"
+ echo "song|string|$song :: $(mpc status "%currenttime%/%totaltime%")"
+ else
+ echo "playing|bool|false"
+ fi
+ echo "" # commit
+
+ sleep 2
+done
+
+# vim: ft=sh
diff --git a/modules/by-name/ya/yambar/scripts/network.sh b/modules/by-name/ya/yambar/scripts/network.sh
new file mode 100755
index 00000000..adfc93df
--- /dev/null
+++ b/modules/by-name/ya/yambar/scripts/network.sh
@@ -0,0 +1,47 @@
+#! /usr/bin/env dash
+
+# shellcheck source=/dev/null
+SHELL_LIBRARY_VERSION="2.1.2" . %SHELL_LIBRARY_PATH
+
+retest=120
+retest_if_con_fails=10
+backend=nmcli
+
+case "$backend" in
+"nmcli") # Test for connectivity with nmcli
+ while true; do
+ connection_status=$(nmcli networking connectivity)
+ if [ "$connection_status" = "full" ]; then
+ echo "internet|string|Connected"
+ echo ""
+ sleep $retest
+ else
+ echo "internet|string|Disconnected"
+ echo ""
+ sleep $retest_if_con_fails
+ fi
+ done
+ ;;
+"ping") # Test for connectivity with ping
+ ip_address='8.8.8.8'
+ ping_number=3
+
+ while true; do
+
+ ping_result=$(mktmp)
+ ping $ip_address -c $ping_number -q | awk 'BEGIN {FS="/"} END {print $5}' >"$ping_result"
+
+ if [ "$(wc -l <"$ping_result")" -eq 0 ]; then
+ echo "med|string|No connection"
+ echo ""
+ sleep $retest_if_con_fails
+ else
+ echo "med|string|$(cat "$ping_result") ms"
+ echo ""
+ sleep $retest
+ fi
+ done
+ ;;
+esac
+
+# vim: ft=sh
diff --git a/modules/by-name/ya/yambar/scripts/sound-volume.sh b/modules/by-name/ya/yambar/scripts/sound-volume.sh
new file mode 100755
index 00000000..8a98daf7
--- /dev/null
+++ b/modules/by-name/ya/yambar/scripts/sound-volume.sh
@@ -0,0 +1,20 @@
+#! /usr/bin/env dash
+
+# shellcheck source=/dev/null
+SHELL_LIBRARY_VERSION="2.1.2" . %SHELL_LIBRARY_PATH
+
+while true; do
+ volume="$(pactl get-sink-volume 0 | awk 'BEGIN { FS="/" } {gsub("%","",$2); gsub(" ","",$2)} {printf $2}')"
+
+ if [ "$volume" -eq 0 ]; then
+ echo "muted|bool|true"
+ else
+ echo "volume|string|$volume"
+ echo "muted|bool|false"
+ fi
+ echo ""
+
+ sleep 3
+done
+
+# vim: ft=sh