Merge branch 'master' of github.com:dopefishh/dotfiles
[dotfiles.git] / x / .local / bin / bar
index 079fac0..cdc09f4 100755 (executable)
@@ -1,24 +1,30 @@
 #!/bin/sh
-batprefix=/sys/class/power_supply/BAT0
-if [ -f $batprefix/charge_full -a -f $batprefix/charge_now ]; then
-       bat="$(echo $(cat $batprefix/charge_now)*100/$(cat $batprefix/charge_full) | bc)% |"
+# battery
+if stat -t /sys/class/power_supply/BAT*/uevent >/dev/null 2>&1; then
+       for f in /sys/class/power_supply/BAT*/uevent; do
+               eval $(grep -v " " "$f")
+               bat="$bat⚡$((POWER_SUPPLY_CHARGE_NOW*100/POWER_SUPPLY_CHARGE_FULL))% ($POWER_SUPPLY_STATUS) | "
+       done
 fi
 
-if ip -br a | grep -q '^wlp'; then
-       wlan="$(/sbin/iwconfig 2>/dev/null | grep -oP '(?<=ESSID:\").*(?=\")')"
-       if [ -z "$wlan" ]; then
-               wlan="Not connected |"
-       else
-               wlan="$wlan |"
+# network adapters
+for int in $(ip link show | grep -Po '(?<=.: )[A-Za-z0-9]+(?=:)' | grep -v docker); do
+       if [ $(ip addr show dev $int | grep -Po "(?<=link/)\S+ ") = "ether" ]; then
+               net="$net$int: "
+               if /sbin/iwconfig $int >/dev/null 2>&1; then
+                       net="$net$(/sbin/iwconfig $int | grep -Po '(?<=ESSID:").*(?=")') "
+               fi
+               net="$net($(ip addr show dev $int | grep -Po "(?<=inet )[0-9.]+")) | "
        fi
-fi
+done
+
+# sound levels
+snd="♪ $(pactl list sinks | grep -Po "(?<=Volume: front)[^%]*" | grep -o "[0-9]\?[0-9][0-9]$" | head -n 1) | "
+
+# disk space
+dsk="Dsk: $(df -h | grep '/$' | awk '{print $4"/"$2}') | "
 
-eval $(xdotool search --onlyvisible trayer getwindowgeometry --shell)
+# date
+date="$(date +"%Y-%m-%d %H:%M") "
 
-echo \
-       "W $wlan"\
-       "♪ $(pactl list sinks | grep -Po "(?<=Volume: front)[^%]*" | grep -o "100$") |"\
-       "⚡$bat"\
-       "Dsk: $(df -h | grep '/$' | awk '{print $4"/"$2}') |"\
-       "$(date +"%Y-%m-%d %H:%M:%S") "\
-       "$(printf "% $(((WIDTH-2)/20+1))s")"
+echo "$net$snd$bat$dsk$date"