X-Git-Url: https://git.madduck.net/etc/awesome.git/blobdiff_plain/912bd26ede8901c98fd8d7a35f8493ee448109ad..dd4f40c48c32406f7d1dcb53fd7ec1879b6ffb8d:/widgets/base.lua?ds=sidebyside diff --git a/widgets/base.lua b/widgets/base.lua index 88478b0..e1ce297 100644 --- a/widgets/base.lua +++ b/widgets/base.lua @@ -6,7 +6,9 @@ --]] -local helpers = require("lain.helpers") +local newtimer = require("lain.helpers").newtimer +local read_pipe = require("lain.helpers").read_pipe + local wibox = require("wibox") local setmetatable = setmetatable @@ -17,24 +19,22 @@ local setmetatable = setmetatable local function worker(args) local base = {} local args = args or {} - local timeout = args.timeout or 1 + local timeout = args.timeout or 5 local cmd = args.cmd or "" local settings = args.settings or function() end base.widget = wibox.widget.textbox('') - helpers.set_map(cmd, '') function base.update() - output = helpers.read_pipe(cmd) - - if helpers.get_map(cmd) ~= output then + if output ~= base.prev then + output = read_pipe(cmd) widget = base.widget settings() - helpers.set_map(cmd, output) + base.prev = output end end - helpers.newtimer(cmd, timeout, base.update) + newtimer(cmd, timeout, base.update) return setmetatable(base, { __index = base.widget }) end