diff --git a/batterystatus.sh b/batterystatus.sh new file mode 100755 index 0000000..21f6ed7 --- /dev/null +++ b/batterystatus.sh @@ -0,0 +1,21 @@ +#!/bin/bash + +while true; do + # Get battery status + STATUS=$(upower -i /org/freedesktop/UPower/devices/battery_BAT0 | grep -E "state|to full|percentage" | awk -F': +' ' + /state:/{s=$2} + /time to full:/{split($2,a,",");h=int(a[1])} + /percentage:/{gsub(",",".",$2);p=$2} + END{if(s=="charging") printf("%dh - %.2f%%\n",h,p)} + ') + + # Get current date and time + DATE=$(date +'%Y-%m-%d %X') + + # Get volume of the default sink + VOLUME=$(pactl get-sink-volume @DEFAULT_SINK@ | awk '{print $5}') + + # Combine the output + echo "$STATUS | Volume: $VOLUME | $DATE" + sleep 1 +done diff --git a/config b/config index fa3a2c5..163ceae 100644 --- a/config +++ b/config @@ -227,7 +227,9 @@ bar { # When the status_command prints a new line to stdout, swaybar updates. # The default just shows the current date and time. - status_command while echo "$(cat /sys/class/power_supply/BAT0/capacity)% \| $(date +'%Y-%m-%d %X') ; do sleep 1; done + #status_command while echo $(upower -i /org/freedesktop/UPower/devices/battery_BAT0 | grep -E "state|to full|percentage" | awk -F': +' '/state:/{s=$2}/time to full:/{split($2,a,",");h=int(a[1])}/percentage:/{gsub(",",".",$2);p=$2} END{if(s=="charging") printf("%dh - %.2f%%\n",h,p)}') \| $(date +'%Y-%m-%d %X') ; do sleep 1; done + status_command /home/user/.config/sway/batterystatus.sh + colors { background $base statusline $text