X-Git-Url: https://git.madduck.net/etc/awesome.git/blobdiff_plain/033e2f4a499cb5e4db2af05832bc59834845eced..5bcffd21a3a80b7f36c4dd4fcdec3bcc64192790:/widgets/bat.lua?ds=inline

diff --git a/widgets/bat.lua b/widgets/bat.lua
index aa89640..48a14fb 100644
--- a/widgets/bat.lua
+++ b/widgets/bat.lua
@@ -27,6 +27,7 @@ local function worker(args)
     local args = args or {}
     local timeout = args.timeout or 30
     local battery = args.battery or "BAT0"
+    local notify = args.notify or "on"
     local settings = args.settings or function() end
 
     bat.widget = wibox.widget.textbox('')
@@ -79,11 +80,24 @@ local function worker(args)
             if min < 0 then min = 0 elseif min > 59 then min = 59 end
 
             bat_now.time = string.format("%02d:%02d", hrs, min)
-            bat_now.perc = string.format("%d", (rem / tot) * 100)
-            bat_now.watt = string.format("%.2fW", (rate * ratev) / 1e12)
+
+            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
+
+            if rate ~= nil and ratev ~= nil then
+                bat_now.watt = string.format("%.2fW", (rate * ratev) / 1e12)
+            else
+                bat_now.watt = "N/A"
+            end
 
             -- notifications for low and critical states
-            if bat_now.status == "Discharging"
+            if bat_now.status == "Discharging" and notify == "on"
             then
                 if tonumber(bat_now.perc) <= 5
                 then