summaryrefslogtreecommitdiff
path: root/examples/wifi-signal
diff options
context:
space:
mode:
authorJon Gjengset <jon@thesquareplanet.com>2013-09-11 21:15:43 +0100
committerJon Gjengset <jon@thesquareplanet.com>2013-09-11 21:16:21 +0100
commitb42563d10ecab2a7b8b6d6e8967c07cdc6ccd4f4 (patch)
tree5d0003a282f2d49f16f0342e69f447d87de5dac3 /examples/wifi-signal
parentHide debug messages by default (diff)
downloadmktrayicon-b42563d10ecab2a7b8b6d6e8967c07cdc6ccd4f4.tar.gz
mktrayicon-b42563d10ecab2a7b8b6d6e8967c07cdc6ccd4f4.tar.bz2
mktrayicon-b42563d10ecab2a7b8b6d6e8967c07cdc6ccd4f4.zip
Add examples directory
Diffstat (limited to 'examples/wifi-signal')
-rwxr-xr-xexamples/wifi-signal41
1 files changed, 41 insertions, 0 deletions
diff --git a/examples/wifi-signal b/examples/wifi-signal
new file mode 100755
index 0000000..766bb10
--- /dev/null
+++ b/examples/wifi-signal
@@ -0,0 +1,41 @@
+#!/bin/bash
+wifi="/tmp/$$-wifi.icon"
+
+# Set up tray icon
+mkfifo $wifi
+mktrayicon $wifi 2>/dev/null &
+echo "h" > $wifi
+run=1
+
+trap 'run=0' INT;
+while [[ $run -eq 1 ]]; do
+ # See network-manager:wifi:wext_qual_to_percent
+ # http://cgit.freedesktop.org/NetworkManager/NetworkManager/tree/src/wifi/wifi-utils-wext.c#n264
+ qual=`iwconfig 2>/dev/null | grep "Link Quality" | sed 's/.*Link Quality=\([0-9]*\/[0-9]*\) .*/\1/'`
+ if [[ -n $qual ]]; then
+ qual=`echo "100*$qual" | bc`
+ if ((qual<25)); then
+ echo "i network-wireless-signal-weak-symbolic" > $wifi;
+ echo "t Weak ($qual%)" > $wifi;
+ elif ((qual<50)); then
+ echo "i network-wireless-signal-ok-symbolic" > $wifi;
+ echo "t OK ($qual%)" > $wifi;
+ elif ((qual<75)); then
+ echo "i network-wireless-signal-good-symbolic" > $wifi;
+ echo "t Good ($qual%)" > $wifi;
+ else
+ echo "i network-wireless-signal-excellent-symbolic" > $wifi;
+ echo "t Excellent ($qual%)" > $wifi;
+ fi
+
+ echo "s" > $wifi;
+ else
+ echo "h" > $wifi;
+ fi
+
+ sleep 30
+done
+
+# Remove tray icon
+echo "q" > $wifi
+rm $wifi
bgstack15