initial commit

This commit is contained in:
2026-02-01 13:42:29 +02:00
commit 7ee913b544

29
nm_vpn Executable file
View 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