diff options
Diffstat (limited to 'dot_config/waybar/executable_wg-status.sh')
| -rw-r--r-- | dot_config/waybar/executable_wg-status.sh | 13 |
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 |
