Newer
Older
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#!/usr/bin/env bash
if [[ -z $UID || ! -d "/run/user/$UID" ]]
then
echo "error"
exit 2
fi
ENVIRONMENT_FILE="/run/user/$UID/network-environment"
SSID=$(iwgetid -r)
if [[ "$SSID" == "011010010011" ]]
then
ENVIRONMENT="home"
SYMBOL="🏠"
COLOR="#88bbff"
elif [[ "$SSID" == "100111010110" ]]
then
ENVIRONMENT="mobile"
SYMBOL="🌍"
elif [[ "$SSID" == "subraum" ]]
then
ENVIRONMENT="subraum"
SYMBOL="🚀"
COLOR="#ff7020"
elif [[ "$SSID" == "eduroam" ]]
then
ENVIRONMENT="uni"
SYMBOL="🎓"
elif [[ "$SSID" == "Robs_IPhone" ]]
then
ENVIRONMENT="work"
SYMBOL="🏢"
elif [[ "$SSID" == "congress" ]]
then
ENVIRONMENT="congress"
SYMBOL="🚀"
COLOR="#ff00aa"
else
ENVIRONMENT="unknown"
SYMBOL="🌍"
fi
LAST_ENVIRONMENT=`cat $ENVIRONMENT_FILE`
echo "$ENVIRONMENT" > $ENVIRONMENT_FILE
output_block() {
echo "$1"
}
if [[ "$ENVIRONMENT" != "$LAST_ENVIRONMENT" ]]; then
# new environment
if [[ -z ENVIRONMENT_EFFECT ]]; then
output_block "$SYMBOL $ENVIRONMENT_EFFECT"
else
output_block "<span color='${COLOR:-#ffb840}'>$SYMBOL $ENVIRONMENT</span>"
fi
# run environment handler
ACTIVATION_HANDLER=$HOME/run/network-environment/activation_handler
if [[ -x $ACTIVATION_HANDLER ]]
then
$ACTIVATION_HANDLER "$ENVIRONMENT" "$SYMBOL" >/dev/null
fi
else
output_block "$SYMBOL $ENVIRONMENT"
# only invoke click handlers if the network has not changed
if [[ $BLOCK_BUTTON == "1" ]]; then
notify-send "$ENVIRONMENT primary";
elif [[ $BLOCK_BUTTON == "3" ]]; then
notify-send "$ENVIRONMENT secondary";
fi
fi