forked from vivien/i3blocks-contrib
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathwlan-dbm
executable file
·53 lines (44 loc) · 969 Bytes
/
wlan-dbm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#!/usr/bin/env bash
#
# i3blocks blocklet script to display wifi signal in dBm
if [[ -z "$IFACE" ]] ; then
IFACE="${BLOCK_INSTANCE:-wlan0}"
fi
USE_PERCENT=${USE_PERCENT:-0}
IW=$(which iw || echo "/sbin/iw")
if [[ ! -x $IW ]]; then
echo "No iw binary was found on the system." 1>2
exit 1
fi
while getopts p opt; do
case "$opt" in
p) USE_PERCENT=1 ;;
esac
done
dbm=$($IW dev "$IFACE" link | grep 'dBm$' | grep -Eoe '-[0-9]{2}')
[[ -n "$dbm" ]] || exit 1
if [[ $USE_PERCENT -eq 0 ]]; then
echo "$dbm" dBm
echo "$dbm"
else
if [[ "$dbm" -le -100 ]]; then
quality=0
elif [[ $dbm -ge -50 ]]; then
quality=100
else
quality=$((2 * (dbm + 100)))
fi
echo "$quality%"
echo "$quality%"
fi
if [[ $dbm -ge -55 ]]; then
echo "#00FF00"
elif [[ $dbm -ge -60 ]]; then
echo "#CCFF00"
elif [[ $dbm -ge -70 ]]; then
echo "#FFFF00"
elif [[ $dbm -ge -80 ]]; then
echo "#FFAA00"
else
echo "#FF0000"
fi