Files
configs/waybar/scripts/network.sh
T
2026-04-18 15:05:01 +01:00

26 lines
715 B
Bash
Executable File

#!/usr/bin/env bash
# Fetch the active connection name and type
# -t: Terse output
# -f: Specific fields
ACTIVE_CONN=$(nmcli -t -f NAME,TYPE connection show --active | grep -E '802-3-ethernet|802-11-wireless' | head -n 1)
# If no connection is found, output nothing
if [ -z "$ACTIVE_CONN" ]; then
echo ""
exit 0
fi
# Extract the name and type using parameter expansion (faster than cut)
CONN_NAME="${ACTIVE_CONN%%:*}"
CONN_TYPE="${ACTIVE_CONN##*:}"
# Output JSON for Waybar custom module
if [[ "$CONN_TYPE" == *"802-11-wireless"* ]]; then
# It's Wi-Fi
echo "{\"text\": \"$CONN_NAME \", \"class\": \"wifi\"}"
else
# It's Ethernet
echo "{\"text\": \"$CONN_NAME 󰊗\", \"class\": \"ethernet\"}"
fi