From b84a8f5758840e462305b74348d9bc2ce683aea6 Mon Sep 17 00:00:00 2001 From: Daniel Barlow Date: Thu, 24 Mar 2022 12:13:17 +0000 Subject: [PATCH] add battery status indicator --- blinkenlicht/bl.fnl | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/blinkenlicht/bl.fnl b/blinkenlicht/bl.fnl index 1e11817..9252469 100644 --- a/blinkenlicht/bl.fnl +++ b/blinkenlicht/bl.fnl @@ -7,6 +7,15 @@ (fn disk-free-percent [] 83) +(fn battery-status [path] + (let [name (.. (or path "/sys/class/power_supply/BAT0") "/uevent")] + (with-open [f (io.open name :r)] + (let [fields {}] + (each [line #(f:read "*l")] + (let [(name value) (line:match "([^=]+)=(.+)")] + (tset fields (: (name:gsub "_" "-") :lower) value))) + fields)))) + (fn spawn [] true) @@ -26,7 +35,12 @@ ;; :text #((f:read):sub 1 10) ;; })) (indicator { - :text "HI!" + :interval (* 10 1000) + :text #(let [{:power-supply-energy-full full + :power-supply-energy-now now} + (battery-status)] + (string.format "BAT %d%%" + (math.floor (* 100 (/ (tonumber now) (tonumber full)))))) }) (indicator { :interval 5000