X-Git-Url: https://git.madduck.net/etc/awesome.git/blobdiff_plain/912bd26ede8901c98fd8d7a35f8493ee448109ad..622203e9c72e8ece969ee9d897ae6dd9b84cf637:/widgets/sysload.lua diff --git a/widgets/sysload.lua b/widgets/sysload.lua index 9472235..df9dbea 100644 --- a/widgets/sysload.lua +++ b/widgets/sysload.lua @@ -9,10 +9,8 @@ local helpers = require("lain.helpers") local wibox = require("wibox") - local io = { open = io.open } local string = { match = string.match } - local setmetatable = setmetatable -- System load @@ -20,38 +18,26 @@ local setmetatable = setmetatable local sysload = {} local function worker(args) - local args = args or {} - local timeout = args.timeout or 1 + local args = args or {} + local timeout = args.timeout or 2 local settings = args.settings or function() end - sysload.widget = wibox.widget.textbox('') - helpers.set_map("load_1", 0) - helpers.set_map("load_5", 0) - helpers.set_map("load_15", 0) + sysload.widget = wibox.widget.textbox() - function update() + function sysload.update() local f = io.open("/proc/loadavg") local ret = f:read("*all") f:close() load_1, load_5, load_15 = string.match(ret, "([^%s]+) ([^%s]+) ([^%s]+)") - if load_1 ~= helpers.get_map("load_1") - or load_5 ~= helpers.get_map("load_5") - or load_15 ~= helpers.get_map("load_15") - then - widget = sysload.widget - settings() - - helpers.set_map("load_1", load_1) - helpers.set_map("load_5", load_5) - helpers.set_map("load_15", load_15) - end + widget = sysload.widget + settings() end - helpers.newtimer("sysload", timeout, update) + helpers.newtimer("sysload", timeout, sysload.update) - return sysload.widget + return sysload end return setmetatable(sysload, { __call = function(_, ...) return worker(...) end })