From d48f8b442648eb837929b5d6538d7d75c4746899 Mon Sep 17 00:00:00 2001 From: sommerfeld Date: Tue, 21 Apr 2026 01:24:42 +0100 Subject: waybar: custom/wifi via iw for bond-slaved wlan; drop wg; shorter memory --- dot_config/waybar/executable_wifi-status.sh | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 dot_config/waybar/executable_wifi-status.sh (limited to 'dot_config/waybar/executable_wifi-status.sh') diff --git a/dot_config/waybar/executable_wifi-status.sh b/dot_config/waybar/executable_wifi-status.sh new file mode 100644 index 0000000..082551f --- /dev/null +++ b/dot_config/waybar/executable_wifi-status.sh @@ -0,0 +1,19 @@ +#!/bin/sh +# Emit waybar JSON describing wifi link state. Handles bond-slaved wlan +# interfaces where waybar's built-in network module fails to detect wifi. +set -eu + +iface=wlan0 +link=$(iw dev "$iface" link 2>/dev/null || true) + +if [ -z "$link" ] || [ "$link" = "Not connected." ]; then + printf '{"text":"wifi off","class":"down"}\n' + exit 0 +fi + +ssid=$(printf '%s\n' "$link" | awk -F': ' '/^\tSSID:/{print $2; exit}') +dbm=$(printf '%s\n' "$link" | awk '/signal:/{print $2; exit}') +pct=$(awk -v r="${dbm:-0}" 'BEGIN{p=2*(r+100); if(p>100)p=100; if(p<0)p=0; printf "%d",p}') + +printf '{"text":"%s %s%%","class":"up","tooltip":"%s ยท %s dBm"}\n' \ + "$ssid" "$pct" "$iface" "$dbm" -- cgit v1.2.3-70-g09d2