ref: 964f71e5a6bac78cf5f9eccef3d7cd78c80595cd
dir: /bin/nopedog/
#!/bin/rc
rfork n
if(! test -f '#s'/acpi)
exit ''
mount '#s'/acpi /mnt/pm || exit
if(! test -f /mnt/pm/battery)
exit no battery to hand
awk -v 'sys='^$sysname '
NR == 1{ bat = $1; chg = $12 ~ /charging/ }
NR > 1 { bat0 = bat; bat = $1; chg = chg || $12 ~ /charging/ }
}END{
if(bat == 0 || chg)
exit
if(sys ~ /x250/){ # internal battery is scratched as fuck
bat = bat0
low = 50
crit = 30
}else{
bat = bat0 > bat ? bat0 : bat;
low = 10
crit = 5
}
if(bat < crit)
system("fshalt")
else if(bat < low)
system("window -dx 120 -dy 200 -minx 0 -miny 0 \''label alert; echo FAILURE IS IMMINENT; play /lib/m/mamb/pripyat.evacuation.audio.opus; rc\''")
}
' /mnt/pm/battery