blob: 3f782233dc2c01ddb34bd891fb1cc97cd89eea9e (
plain)
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
|
#!/bin/bash
POPUP_OFF="sketchybar --set wifi popup.drawing=off"
POPUP_CLICK_SCRIPT="sketchybar --set wifi popup.drawing=toggle"
source "$CONFIG_DIR/globalstyles.sh" # Loads defined colors
INFO="$(/System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport -I | awk -F ' SSID: ' '/ SSID: / {print $2}')"
IS_VPN=$(/usr/local/bin/piactl get connectionstate)
CURRENT_WIFI="$(/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I)"
IP_ADDRESS="$(ipconfig getifaddr en0)"
SSID="$(echo "$CURRENT_WIFI" | grep -o "SSID: .*" | sed 's/^SSID: //')"
CURR_TX="$(echo "$CURRENT_WIFI" | grep -o "lastTxRate: .*" | sed 's/^lastTxRate: //')"
# ICON="$([ -n "$INFO" ] && echo "$WIFI_CONNECTED" || echo "$WIFI_DISCONNECTED")"
if [ -n "$INFO" ]; then
ICON_COLOR=$GREEN
ICON="$WIFI_CONNECTED"
elif [ -z "$INFO" ]; then
ICON="$WIFI_DISCONNECTED"
elif [[ $IS_VPN != "Disconnected" ]]; then
ICON_COLOR=$HIGHLIGHT
ICON=
elif [[ $SSID = "Ebrietas" ]]; then
ICON_COLOR=$WHITE
ICON=
elif [[ $SSID != "" ]]; then
ICON_COLOR=$WHITE
ICON=
elif [[ $CURRENT_WIFI = "AirPort: Off" ]]; then
ICON_COLOR=$RED
ICON=
else
ICON_COLOR=$WHITE_25
ICON=
fi
render_bar_item() {
sketchybar --set $NAME \
icon.color=$ICON_COLOR \
icon=$ICON \
click_script="$POPUP_CLICK_SCRIPT"
}
render_popup() {
if [ "$SSID" != "" ]; then
args=(
--set wifi click_script="$POPUP_CLICK_SCRIPT"
--set wifi.ssid label="$SSID"
--set wifi.strength label="$CURR_TX Mbps"
--set wifi.ipaddress label="$IP_ADDRESS"
click_script="printf $IP_ADDRESS | pbcopy;$POPUP_OFF"
)
else
args=(
--set wifi click_script="")
fi
sketchybar "${args[@]}" >/dev/null
}
update() {
render_bar_item
render_popup
source "$CONFIG_DIR/icons.sh"
INFO="$(/System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport -I | awk -F ' SSID: ' '/ SSID: / {print $2}')"
LABEL="$INFO ($(ipconfig getifaddr en0))"
ICON="$([ -n "$INFO" ] && echo "$WIFI_CONNECTED" || echo "$WIFI_DISCONNECTED")"
sketchybar --set $NAME icon="$ICON" label="$LABEL"
}
click() {
CURRENT_WIDTH="$(sketchybar --query $NAME | jq -r .label.width)"
WIDTH=0
if [ "$CURRENT_WIDTH" -eq "0" ]; then
WIDTH=dynamic
fi
sketchybar --animate sin 20 --set $NAME label.width="$WIDTH"
}
popup() {
sketchybar --set "$NAME" popup.drawing="$1"
}
case "$SENDER" in
"routine" | "forced")
update
;;
"mouse.entered")
popup on
;;
"mouse.exited" | "mouse.exited.global")
popup off
;;
"wifi_change")
update
;;
"mouse.clicked")
click
;;
esac
|