aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/dot_config/waybar/executable_wg-status.sh
diff options
context:
space:
mode:
authorLibravatar sommerfeld <sommerfeld@sommerfeld.dev>2026-04-21 01:24:41 +0100
committerLibravatar sommerfeld <sommerfeld@sommerfeld.dev>2026-04-21 01:24:41 +0100
commit1845bc539fba083b2326d87833ea15e01a64045f (patch)
tree3c16ae5a4ebdd5cb707942142446685552815f52 /dot_config/waybar/executable_wg-status.sh
parent0afbe08325191c9b553502473a2bb3a5fc15dc63 (diff)
downloaddotfiles-1845bc539fba083b2326d87833ea15e01a64045f.tar.gz
dotfiles-1845bc539fba083b2326d87833ea15e01a64045f.tar.bz2
dotfiles-1845bc539fba083b2326d87833ea15e01a64045f.zip
waybar: split network into wifi/bond/wg, reorder, add gruvbox accents
Diffstat (limited to 'dot_config/waybar/executable_wg-status.sh')
-rw-r--r--dot_config/waybar/executable_wg-status.sh13
1 files changed, 13 insertions, 0 deletions
diff --git a/dot_config/waybar/executable_wg-status.sh b/dot_config/waybar/executable_wg-status.sh
new file mode 100644
index 0000000..1fd7241
--- /dev/null
+++ b/dot_config/waybar/executable_wg-status.sh
@@ -0,0 +1,13 @@
+#!/bin/sh
+# Emit waybar JSON describing wireguard status. Uses `ip` (no root needed).
+set -eu
+
+iface=$(ip -br link show type wireguard 2>/dev/null | awk 'NF{print $1; exit}')
+
+if [ -n "${iface:-}" ]; then
+ printf '{"text":"WG %s","class":"up","tooltip":"%s"}\n' \
+ "$iface" \
+ "$(ip -br -4 addr show dev "$iface" 2>/dev/null | awk '{for(i=3;i<=NF;i++)printf "%s ",$i}')"
+else
+ printf '{"text":"WG off","class":"down","tooltip":"no wireguard interface"}\n'
+fi