move desktop shit again
This commit is contained in:
parent
df0ffea214
commit
500c18b76a
41 changed files with 69 additions and 69 deletions
78
modules/desktop/home/eww/configDir/scripts/bat.nu
Executable file
78
modules/desktop/home/eww/configDir/scripts/bat.nu
Executable file
|
@ -0,0 +1,78 @@
|
|||
#!/usr/bin/env nu
|
||||
|
||||
const ICONS = [
|
||||
[ normal charging];
|
||||
[ ]
|
||||
[ ]
|
||||
[ ]
|
||||
[ ]
|
||||
[ ]
|
||||
[ ]
|
||||
[ ]
|
||||
[ ]
|
||||
[ ]
|
||||
[ ]
|
||||
[ ]
|
||||
];
|
||||
|
||||
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}
|
||||
| str join " | "
|
||||
| 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;
|
||||
|
||||
return $"<span foreground=\"#d65d0e\">(get_bat_icon $fract $is_charging)</span> ($percent)<span foreground=\"#7c6f64\">%</span>";
|
||||
}
|
||||
|
||||
def get_bat_charge_fraction [
|
||||
path: string
|
||||
] {
|
||||
let energy_full = open $"/sys/class/power_supply/($path)/energy_full" | into float;
|
||||
let energy_now = open $"/sys/class/power_supply/($path)/energy_now" | into float;
|
||||
|
||||
$energy_now / $energy_full
|
||||
}
|
||||
|
||||
def get_bat_charging_status [
|
||||
path: string
|
||||
] {
|
||||
let status = open $"/sys/class/power_supply/($path)/status";
|
||||
|
||||
$status like Charging
|
||||
}
|
||||
|
||||
def get_bat_icon [
|
||||
frac: float
|
||||
is_charging = false
|
||||
] {
|
||||
$ICONS | get (($frac * 10) | math round) | get (if ($is_charging) { "charging" } else { "normal" })
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue