mirror of
https://github.com/eRgo35/dots.git
synced 2025-12-17 07:56:11 +01:00
statusbar and minor patches
This commit is contained in:
42
dwm/.dwm/bar/bar-functions/dwm_connman.sh
Executable file
42
dwm/.dwm/bar/bar-functions/dwm_connman.sh
Executable file
@@ -0,0 +1,42 @@
|
||||
#!/bin/sh
|
||||
|
||||
# A dwm_bar function to show the current network connection/SSID, Wifi Strength, private IP using Connmanctl.
|
||||
# procrastimax <heykeroth.dev@gmail.com>
|
||||
# GNU GPLv3
|
||||
|
||||
# Dependencies: connman
|
||||
|
||||
dwm_connman () {
|
||||
printf "%s" "$SEP1"
|
||||
if [ "$IDENTIFIER" = "unicode" ]; then
|
||||
printf "🌐 "
|
||||
else
|
||||
printf "NET "
|
||||
fi
|
||||
|
||||
# get the connmanctl service name
|
||||
# this is a UID starting with 'vpn_', 'wifi_', or 'ethernet_', we dont care for the vpn one
|
||||
# if the servicename string is empty, there is no online connection
|
||||
SERVICENAME=$(connmanctl services | grep -E "^\*AO|^\*O" | grep -Eo 'wifi_.*|ethernet_.*')
|
||||
|
||||
if [ ! "$SERVICENAME" ]; then
|
||||
printf "OFFLINE"
|
||||
printf "%s\n" "$SEP2"
|
||||
return
|
||||
else
|
||||
STRENGTH=$(connmanctl services "$SERVICENAME" | sed -n -e 's/Strength =//p' | tr -d ' ')
|
||||
CONNAME=$(connmanctl services "$SERVICENAME" | sed -n -e 's/Name =//p' | tr -d ' ')
|
||||
IP=$(connmanctl services "$SERVICENAME" | grep 'IPv4 =' | awk '{print $5}' | sed -n -e 's/Address=//p' | tr -d ',')
|
||||
fi
|
||||
|
||||
# if STRENGTH is empty, we have a wired connection
|
||||
if [ "$STRENGTH" ]; then
|
||||
printf "%s %s %s%%" "$IP" "$CONNAME" "$STRENGTH"
|
||||
else
|
||||
printf "%s %s" "$IP" "$CONNAME"
|
||||
fi
|
||||
|
||||
printf "%s\n" "$SEP2"
|
||||
}
|
||||
|
||||
dwm_connman
|
||||
Reference in New Issue
Block a user