X-Git-Url: https://git.madduck.net/etc/awesome.git/blobdiff_plain/b963bb6bde2b708e6f01b8a9d469d960501a2e0a..07c4b8c5ce42d2cad3c0745ea1510d8a566bd8df:/widgets/contrib/tpbat/init.lua diff --git a/widgets/contrib/tpbat/init.lua b/widgets/contrib/tpbat/init.lua index 206fd38..72d6453 100644 --- a/widgets/contrib/tpbat/init.lua +++ b/widgets/contrib/tpbat/init.lua @@ -90,16 +90,28 @@ function tpbat.register(args) tpbat.widget = wibox.widget.textbox('') + bat_notification_low_preset = { + title = "Battery low", + text = "Plug the cable!", + timeout = 15, + fg = "#202020", + bg = "#CDCDCD" + } + + bat_notification_critical_preset = { + title = "Battery exhausted", + text = "Shutdown imminent", + timeout = 15, + fg = "#000000", + bg = "#FFFFFF" + } + if bat:get('state') == nil then local n = naughty.notify({ + preset = bat_notification_low_preset, title = "SMAPI Battery Warning: Unable to read battery state!", - text = "This widget is intended for ThinkPads. Is tp_smapi installed? Check your configs & paths.", - position = "top_right", - timeout = 15, - fg="#202020", - bg="#cdcdcd", - ontop = true + text = "This widget is intended for ThinkPads. Is tp_smapi installed? Check your configs & paths." }) end @@ -113,36 +125,27 @@ function tpbat.register(args) if bat:installed() then - bat_now.status = bat:status() + bat_now.status = bat:status() or "N/A" bat_now.perc = bat:percent() bat_now.time = bat:remaining_time() -- bat_now.watt = string.format("%.2fW", (VOLTS * AMPS) / 1e12) - -- notifications for low and critical states - if bat_now.perc <= 5 - then - tpbat.id = naughty.notify({ - text = "shutdown imminent", - title = "battery nearly exhausted", - position = "top_right", - timeout = 15, - fg="#000000", - bg="#ffffff", - ontop = true, - replaces_id = tpbat.id - }).id - elseif bat_now.perc <= 15 + -- notifications for low and critical states (when discharging) + if bat_now.status == "discharging" then - tpbat.id = naughty.notify({ - text = "plug the cable", - title = "battery low", - position = "top_right", - timeout = 15, - fg="#202020", - bg="#cdcdcd", - ontop = true, - replaces_id = tpbat.id - }).id + if bat_now.perc <= 5 + then + tpbat.id = naughty.notify({ + preset = bat_notification_critical_preset, + replaces_id = tpbat.id + }).id + elseif bat_now.perc <= 15 + then + tpbat.id = naughty.notify({ + preset = bat_notification_low_preset, + replaces_id = tpbat.id + }).id + end end bat_now.perc = tostring(bat_now.perc)