X-Git-Url: https://git.madduck.net/etc/awesome.git/blobdiff_plain/635f0576554301d505233fd4116d8429f310d87a..a339e3b6cf323d809647c1bacec0a388e955854c:/widgets/sysload.lua?ds=sidebyside

diff --git a/widgets/sysload.lua b/widgets/sysload.lua
index eb06828..2abac33 100644
--- a/widgets/sysload.lua
+++ b/widgets/sysload.lua
@@ -7,14 +7,11 @@
                                                   
 --]]
 
-local markup       = require("lain.util.markup")
-local helpers      = require("lain.helpers")
+local newtimer     = require("lain.helpers").newtimer
 
-local awful        = require("awful")
-local beautiful    = require("beautiful")
 local wibox        = require("wibox")
 
-local io           = io
+local io           = { open = io.open }
 local string       = { format = string.format,
                        match  = string.match }
 
@@ -24,47 +21,26 @@ local setmetatable = setmetatable
 -- lain.widgets.sysload
 local sysload = {}
 
-function worker(args)
+local function worker(args)
     local args = args or {}
-    local refresh_timeout = args.refresh_timeout or 5
-    local show_all = args.show_all or false
-    local header = args.header or " Load "
-    local header_color = args.header_color or beautiful.fg_normal or "#FFFFFF"
-    local color = args.color or beautiful.fg_focus or "#FFFFFF" 
-    local app = args.app or "top"
+    local timeout = args.timeout or 5
+    local settings = args.settings or function() end
 
-    local mysysload = wibox.widget.textbox()
+    sysload.widget = wibox.widget.textbox('')
 
-    local mysysloadupdate = function()
+    function update()
         local f = io.open("/proc/loadavg")
         local ret = f:read("*all")
         f:close()
 
-        if show_all
-        then
-            local a, b, c = string.match(ret, "([^%s]+) ([^%s]+) ([^%s]+)")
-            mysysload:set_text(string.format("%s %s %s", a, b, c))
-        else
-            local a = string.match(ret, "([^%s]+) ")
-            mysysload:set_text(string.format("%s", a))
-        end
-        mysysload:set_markup(markup(header_color, header) ..
-                             markup(color, mysysload._layout.text .. " "))
-    end
-
-    local mysysloadtimer = timer({ timeout = refresh_timeout })
-    mysysloadtimer:connect_signal("timeout", mysysloadupdate)
-    mysysloadtimer:start()
-    mysysloadtimer:emit_signal("timeout")
+        load_1, load_5, load_15 = string.match(ret, "([^%s]+) ([^%s]+) ([^%s]+)")
 
-    mysysload:buttons(awful.util.table.join(
-        awful.button({}, 0,
-            function()
-                helpers.run_in_terminal(app)
-            end)
-    ))
+        widget = sysload.widget
+        settings()
+    end
 
-    return mysysload
+    newtimer("sysload", timeout, update)
+    return sysload.widget
 end
 
 return setmetatable(sysload, { __call = function(_, ...) return worker(...) end })