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