refactored batteries script, tscale_native uses core utils instead of rg and jq

This commit is contained in:
Vlad
2026-01-11 00:00:21 +03:00
parent 63a24620d8
commit 2fe354a1bd
5 changed files with 74 additions and 3 deletions

View File

@ -36,6 +36,7 @@ gaps outer 10
# Start XDG autostart .desktop files using dex. See also
# https://wiki.archlinux.org/index.php/XDG_Autostart
exec --no-startup-id dex --autostart --environment i3
exec --no-startup-id pipewire
# The combination of xss-lock, nm-applet and pactl is a popular choice, so
# they are included here as an example. Modify as you see fit.
@ -71,7 +72,7 @@ floating_modifier $mod
tiling_drag modifier
# start a terminal
bindsym $mod+Return exec kitty
bindsym $mod+Return exec alacritty
# kill focused window
bindsym $mod+Shift+q kill

View File

@ -27,7 +27,11 @@ markup=pango
#interval=1
[tailscale]
command=~/.config/i3blocks/tscale #echo TS: $(ip a show tailscale0 | rg "inet (\d+\.\d+\.\d+\.\d+)" -or '$1')
command=~/.config/i3blocks/tscale_native #echo TS: $(ip a show tailscale0 | rg "inet (\d+\.\d+\.\d+\.\d+)" -or '$1')
interval=5
[workvpn]
command=~/.config/i3blocks/workvpn
interval=5
[wthr]

View File

@ -0,0 +1,37 @@
#!/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

20
i3/.config/i3blocks/workvpn Executable file
View File

@ -0,0 +1,20 @@
#!/usr/bin/env bash
status=$(ip a show ppp1 2>/dev/null || "")
[ -z "$status" ] && exit 0
icon=󱁤
color="#808080"
text=""
ip=$(grep -Po 'inet \K(\d+\.){3}\d+' <<<$status)
if [ -z "$ip" ]; then
text="$icon wait..."
color="#ffff00"
else
text="$icon $ip"
color="#80ff80"
fi
echo "$text"
echo "$text"
echo "$color"