From f8b37d508879c92d5184394a660c440899ccce03 Mon Sep 17 00:00:00 2001 From: luke bonham Date: Sun, 6 Oct 2013 21:16:25 +0200 Subject: [PATCH] bat: fix issue #17 --- layout/centerfair.lua | 2 +- widgets/bat.lua | 17 +++++++++++++++-- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/layout/centerfair.lua b/layout/centerfair.lua index d9ea677..49b4a14 100644 --- a/layout/centerfair.lua +++ b/layout/centerfair.lua @@ -3,7 +3,7 @@ Licensed under GNU General Public License v2 * (c) 2013, Luke Bonham - * (c) 2012, Nicolas Estibals + * (c) 2010, Nicolas Estibals * (c) 2010-2012, Peter Hofmann --]] diff --git a/widgets/bat.lua b/widgets/bat.lua index aa89640..a064e30 100644 --- a/widgets/bat.lua +++ b/widgets/bat.lua @@ -79,8 +79,21 @@ 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_not.watt = "N/A" + end -- notifications for low and critical states if bat_now.status == "Discharging"