X-Git-Url: https://git.madduck.net/etc/awesome.git/blobdiff_plain/046b0279b0f3eb827bcc2b2e395e6ea69c019733..01bad23a2c11d5c05643016b3731d6d577547724:/widgets/temp.lua

diff --git a/widgets/temp.lua b/widgets/temp.lua
index 301bc1c..a857e71 100644
--- a/widgets/temp.lua
+++ b/widgets/temp.lua
@@ -6,12 +6,11 @@
                                                   
 --]]
 
-local markup       = require("lain.util.markup")
+local newtimer     = require("lain.helpers").newtimer
 
-local beautiful    = require("beautiful")
 local wibox        = require("wibox")
 
-local io           = io
+local io           = { open = io.open }
 local tonumber     = tonumber
 
 local setmetatable = setmetatable
@@ -20,33 +19,31 @@ local setmetatable = setmetatable
 -- lain.widgets.temp
 local temp = {}
 
-function worker(args)
-    local args = args or {}
-    local refresh_timeout = args.refresh_timeout or 5
-    local header = args.header or " Temp "
-    local header_color = args.header_color or beautiful.fg_normal or "#FFFFFF"
-    local color = args.color or beautiful.fg_focus or header_color
-    local footer = args.footer or "C "
-
-    local mytemp = wibox.widget.textbox()
-
-    local mytempupdate = function()
-        local f = io.open("/sys/class/thermal/thermal_zone0/temp")
-        local ret = f:read("*all")
-        f:close()
-
-        ret = tonumber(ret) / 1000
-
-        mytemp:set_markup(markup(header_color, header) ..
-                          markup(color, ret .. footer))
+local function worker(args)
+    local args     = args or {}
+    local timeout  = args.timeout or 2
+    local tempfile = args.tempfile or "/sys/class/thermal/thermal_zone0/temp"
+    local settings = args.settings or function() end
+
+    temp.widget = wibox.widget.textbox('')
+
+    function update()
+        local f = io.open(tempfile)
+        if f ~= nil
+        then
+            coretemp_now = tonumber(f:read("*all")) / 1000
+            f:close()
+        else
+            coretemp_now = "N/A"
+        end
+
+        widget = temp.widget
+        settings()
     end
 
-    local mytemptimer = timer({ timeout = refresh_timeout })
-    mytemptimer:connect_signal("timeout", mytempupdate)
-    mytemptimer:start()
-    mytemptimer:emit_signal("timeout")
+    newtimer("coretemp", timeout, update)
 
-    return mytemp
+    return temp.widget
 end
 
 return setmetatable(temp, { __call = function(_, ...) return worker(...) end })