mirror of
https://github.com/ItsDrike/dotfiles.git
synced 2025-06-29 20:20:41 +00:00
Add radio/connections menu window
This commit is contained in:
parent
d918406072
commit
d8430aa089
7 changed files with 266 additions and 0 deletions
52
home/.config/eww/scripts/net
Executable file
52
home/.config/eww/scripts/net
Executable file
|
@ -0,0 +1,52 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# shellcheck source=include
|
||||
source "./scripts/include"
|
||||
|
||||
STRENGTH_ICONS=("" "" "" "" "" "")
|
||||
DISCONNECTED_ICON=""
|
||||
WIFI_OFF=""
|
||||
|
||||
toggle() {
|
||||
status=$(rfkill -J | jq -r '.rfkilldevices[] | select(.type == "wlan") | .soft' | head -1)
|
||||
|
||||
if [ "$status" = "unblocked" ]; then
|
||||
rfkill block wlan
|
||||
else
|
||||
rfkill unblock wlan
|
||||
fi
|
||||
}
|
||||
|
||||
get_report() {
|
||||
connection_details="$(nmcli -t -f NAME,TYPE,DEVICE connection show --active | grep wireless | head -n1)"
|
||||
essid="$(echo $connection_details | cut -d':' -f1)"
|
||||
device="$(echo $connection_details | cut -d':' -f3)"
|
||||
if [ -n "$device" ]; then
|
||||
state="$(nmcli -t -f DEVICE,STATE device status | grep "$device" | head -n1 | cut -d':' -f2)"
|
||||
signal="$(nmcli -t -f in-use,signal dev wifi | grep "\*" | cut -d':' -f2)"
|
||||
else
|
||||
state="unknown"
|
||||
signal="0"
|
||||
fi
|
||||
|
||||
if [ "$state" = "disconnected" ] ; then
|
||||
icon="$DISCONNECTED_ICON"
|
||||
elif [ "$state" = "unknown" ]; then
|
||||
icon="$WIFI_OFF"
|
||||
else
|
||||
icon="$(pick_icon "$signal" 0 100 "${STRENGTH_ICONS[@]}")"
|
||||
fi
|
||||
|
||||
jq -n -c --monochrome-output \
|
||||
--arg essid "$essid" \
|
||||
--arg icon "$icon" \
|
||||
--arg state "$state" \
|
||||
--arg signal "$signal" \
|
||||
'$ARGS.named'
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
"toggle") toggle ;;
|
||||
"status") get_report ;;
|
||||
*) >&2 echo "Invalid usage, argument '$1' not recognized."; exit 1 ;;
|
||||
esac
|
Loading…
Add table
Add a link
Reference in a new issue