Files
dotfiles/i3/.config/i3blocks/tscale_native

38 lines
759 B
Bash
Executable File

#!/bin/bash
case $BLOCK_BUTTON in
1) ~/.dotfiles/bin/rofi-tscale ;;
esac
icon="󰛳"
if ! ip a show tailscale0 &>/dev/null; then
icon="󰅛"
out="$icon no tailscale"
which tailscale &>/dev/null && out="$icon tailscale inactive"
echo -e "$out\n$out\n#606060"
exit
fi
exitnode=$(tailscale status --json | awk '/"ExitNodeStatus": /,/}/')
enstatus=""
tsip=$(ip a show tailscale0 | grep -Po 'inet \K((\d+\.){3}\d+)')
[ -z "$exitnode" ] && {
[ -z "$tsip" ] && {
icon="󰅛"
text="$icon offline"
color='#707070'
} || {
text="$icon $tsip"
COLOR='#8080ff'
}
} || {
enstatus=$(echo "$exitnode" | awk '/TailscaleIPs/,/]/' | grep -Po "(\d+\.){3}\d+")
icon="󰱓"
text="$icon $enstatus"
COLOR='#80ff80'
}
echo "$text"
echo "$text"
echo $COLOR