initial commit
This commit is contained in:
29
nm_vpn
Executable file
29
nm_vpn
Executable file
@@ -0,0 +1,29 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -Eeu -o pipefail
|
||||||
|
|
||||||
|
VALUE_COLOR=${color:-$(xrescat i3xrocks.value.color "#D8DEE9")}
|
||||||
|
VALUE_FONT=${font:-$(xrescat i3xrocks.value.font "Source Code Pro Medium 13")}
|
||||||
|
BUTTON="${button:-}"
|
||||||
|
|
||||||
|
VALUE_VPN_NAME="MB VPN"
|
||||||
|
VPN_STATUS=$(nmcli -f GENERAL.STATE con show "${VALUE_VPN_NAME}" | tr -s 'GENERAL.STATE:' ' ' | awk '{gsub(/^ +| +$/,"")}1')
|
||||||
|
|
||||||
|
NETWORK_ICON=" "
|
||||||
|
|
||||||
|
# nmcli statuses
|
||||||
|
STATUS_ACTIVATED="activated"
|
||||||
|
STATUS_ACTIVATING="activating"
|
||||||
|
|
||||||
|
# texts
|
||||||
|
ACTIVE_ICON="ON"
|
||||||
|
ACTIVATING_ICON="WAIT"
|
||||||
|
INACTIVE_ICON="OFF"
|
||||||
|
|
||||||
|
STATUS_TEXT=$([ "$VPN_STATUS" == "$STATUS_ACTIVATED" ] && echo "$ACTIVE_ICON" || ([ "$VPN_STATUS" == "$STATUS_ACTIVATING" ] && echo "$ACTIVATING_ICON" || echo "$INACTIVE_ICON"))
|
||||||
|
echo "<span font_desc=\"${VALUE_FONT}\" color=\"${VALUE_COLOR}\">${NETWORK_ICON} ${STATUS_TEXT}</span>"
|
||||||
|
|
||||||
|
if [ ! "x${BUTTON}" == "x" ]; then
|
||||||
|
ACTION=$([ "$VPN_STATUS" == "$STATUS_ACTIVATED" ] && nmcli con down id "${VALUE_VPN_NAME}" || nmcli con up id "${VALUE_VPN_NAME}")
|
||||||
|
/usr/bin/i3-msg -q exec "$ACTION"
|
||||||
|
fi
|
||||||
Reference in New Issue
Block a user