diff --git a/modules/desktop-environment/home/eww/configDir/scripts/bat.nu b/modules/desktop-environment/home/eww/configDir/scripts/bat.nu index fc2efae..690cca6 100755 --- a/modules/desktop-environment/home/eww/configDir/scripts/bat.nu +++ b/modules/desktop-environment/home/eww/configDir/scripts/bat.nu @@ -15,15 +15,41 @@ const ICONS = [ [ 󰁹 󰂅 ] ]; +const DELAY = 2sec; + +def "main auto" [] { + loop { + let paths = ls "/sys/class/power_supply" + | each {|it| $it.name | path basename} + | filter {|it| $it starts-with "BAT"}; + + if ($paths | is-not-empty) { + let result = $paths + | each {|it| get_and_format $it} + | prepend "" + | str join "|"; + + print $result + } else { + print "" + } + sleep $DELAY; + } +} + def main [ path: string ] { loop { + print (get_and_format $path) + sleep $DELAY; + } +} + +def get_and_format [ path: string ] { let fract = get_bat_charge_fraction $path; let is_charging = get_bat_charging_status $path; let percent = ($fract * 100) | math round; - - print $"(get_bat_icon $fract $is_charging) ($percent)%"; - sleep 2sec; - } + + return $"(get_bat_icon $fract $is_charging) ($percent)%"; } def get_bat_charge_fraction [ diff --git a/modules/desktop-environment/home/eww/configDir/topBar/sysinfo.yuck b/modules/desktop-environment/home/eww/configDir/topBar/sysinfo.yuck index 3cf8e2c..06a5635 100644 --- a/modules/desktop-environment/home/eww/configDir/topBar/sysinfo.yuck +++ b/modules/desktop-environment/home/eww/configDir/topBar/sysinfo.yuck @@ -1,10 +1,6 @@ -(deflisten bat0 +(deflisten bat :initial "BAT0 ERR" - { "~/.config/eww/scripts/bat.nu BAT0"} -) -(deflisten bat1 - :initial "BAT1 ERR" - { "~/.config/eww/scripts/bat.nu BAT1"} + { "~/.config/eww/scripts/bat.nu auto"} ) (defwidget cpu [] diff --git a/modules/desktop-environment/home/eww/configDir/topBar/topBar.yuck b/modules/desktop-environment/home/eww/configDir/topBar/topBar.yuck index a2135cc..6725623 100644 --- a/modules/desktop-environment/home/eww/configDir/topBar/topBar.yuck +++ b/modules/desktop-environment/home/eww/configDir/topBar/topBar.yuck @@ -27,10 +27,7 @@ (cpu) (sep) (mem) - (sep) - (label :markup bat0) - (sep) - (label :markup bat1) + (label :markup bat) ) (box :halign "center"