X-Git-Url: https://git.madduck.net/etc/awesome.git/blobdiff_plain/b3e4d796d0aa6e2f697aa61b6d89f5e754703d01..ddbf283f0ebbc6772d485fe76c5dccf338d3b837:/widgets/contrib/tpbat/init.lua diff --git a/widgets/contrib/tpbat/init.lua b/widgets/contrib/tpbat/init.lua index 782bf35..3342e02 100644 --- a/widgets/contrib/tpbat/init.lua +++ b/widgets/contrib/tpbat/init.lua @@ -17,39 +17,33 @@ local debug = { getinfo = debug.getinfo } local newtimer = require("lain.helpers").newtimer local first_line = require("lain.helpers").first_line -local beautiful = require("beautiful") local naughty = require("naughty") local wibox = require("wibox") - local string = { format = string.format } local math = { floor = math.floor } local tostring = tostring local setmetatable = setmetatable - package.path = debug.getinfo(1,"S").source:match[[^@?(.*[\/])[^\/]-$]] .. "?.lua;" .. package.path local smapi = require("smapi") -- ThinkPad SMAPI-enabled battery info widget -- lain.widgets.contrib.tpbat local tpbat = { } -local tpbat_notification = nil -function tpbat:hide() - if tpbat_notification ~= nil - then - naughty.destroy(tpbat_notification) - tpbat_notification = nil - end +function tpbat.hide() + if not tpbat.notification then return end + naughty.destroy(tpbat.notification) + tpbat.notification = nil end -function tpbat:show(t_out) - tpbat:hide() +function tpbat.show(t_out) + tpbat.hide() - local bat = self.bat - local t_out = t_out or 0 + local bat = tpbat.bat if bat == nil or not bat:installed() then return end + local t_out = t_out or 0 local mfgr = bat:get('manufacturer') or "no_mfgr" local model = bat:get('model') or "no_model" local chem = bat:get('chemistry') or "no_chem" @@ -72,8 +66,8 @@ function tpbat:show(t_out) local str = string.format("%s : %s %s (%s)\n", bat.name, mfgr, model, chem) .. string.format("\n%s \t\t\t %s", status:upper(), msg) - tpbat_notification = naughty.notify({ - preset = { fg = beautiful.fg_normal }, + tpbat.notification = naughty.notify({ + preset = naughty.config.defaults, text = str, timeout = t_out, screen = client.focus and client.focus.screen or 1 @@ -89,7 +83,7 @@ function tpbat.register(args) tpbat.bat = smapi:battery(battery) -- Create a new battery local bat = tpbat.bat - tpbat.widget = wibox.widget.textbox('') + tpbat.widget = wibox.widget.textbox() bat_notification_low_preset = { title = "Battery low", @@ -159,10 +153,10 @@ function tpbat.register(args) settings() end - newtimer("tpbat", timeout, update) + newtimer("tpbat-" .. bat.name, timeout, update) - widget:connect_signal('mouse::enter', function () tpbat:show() end) - widget:connect_signal('mouse::leave', function () tpbat:hide() end) + widget:connect_signal('mouse::enter', function () tpbat.show() end) + widget:connect_signal('mouse::leave', function () tpbat.hide() end) return tpbat.widget end