X-Git-Url: https://git.madduck.net/etc/awesome.git/blobdiff_plain/cc8863390582a712845441c56000ab06367baa0a..e1450f8828c1be4e290cec0a34538ebe6cb86b50:/widgets/bat.lua?ds=sidebyside

diff --git a/widgets/bat.lua b/widgets/bat.lua
index 4526c85..572d099 100644
--- a/widgets/bat.lua
+++ b/widgets/bat.lua
@@ -97,13 +97,17 @@ local function worker(args)
 
             bat_now.time = string.format("%02d:%02d", hrs, min)
 
-            local perc = (rem / tot) * 100
-            if perc <= 100 then
-                bat_now.perc = string.format("%d", perc)
-            elseif perc > 100 then
-                bat_now.perc = "100"
-            elseif perc < 0 then
-                bat_now.perc = "0"
+            bat_now.perc = first_line(bstr .. "/capacity")
+
+            if not bat_now.perc then
+                local perc = (rem / tot) * 100
+                if perc <= 100 then
+                    bat_now.perc = string.format("%d", perc)
+                elseif perc > 100 then
+                    bat_now.perc = "100"
+                elseif perc < 0 then
+                    bat_now.perc = "0"
+                end
             end
 
             if rate ~= nil and ratev ~= nil then
@@ -118,19 +122,20 @@ local function worker(args)
         settings()
 
         -- notifications for low and critical states
-        if bat_now.status == "Discharging" and notify == "on"
+        if bat_now.status == "Discharging" and notify == "on" and bat_now.perc ~= nil
         then
-            if tonumber(bat_now.perc) <= 5
+            local nperc = tonumber(bat_now.perc) or 100
+            if nperc <= 5
             then
                 bat.id = naughty.notify({
                     preset = bat_notification_critical_preset,
-                    replaces_id = bat.id
+                    replaces_id = bat.id,
                 }).id
-            elseif tonumber(bat_now.perc) <= 15
+            elseif nperc <= 15
             then
                 bat.id = naughty.notify({
                     preset = bat_notification_low_preset,
-                    replaces_id = bat.id
+                    replaces_id = bat.id,
                 }).id
             end
         end