summaryrefslogtreecommitdiff
path: root/lain/widgets/temp.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lain/widgets/temp.lua')
-rw-r--r--lain/widgets/temp.lua48
1 files changed, 48 insertions, 0 deletions
diff --git a/lain/widgets/temp.lua b/lain/widgets/temp.lua
new file mode 100644
index 0000000..5994f59
--- /dev/null
+++ b/lain/widgets/temp.lua
@@ -0,0 +1,48 @@
+
+--[[
+
+ Licensed under GNU General Public License v2
+ * (c) 2013, Luke Bonham
+
+--]]
+
+local newtimer = require("lain.helpers").newtimer
+
+local wibox = require("wibox")
+
+local io = { open = io.open }
+local tonumber = tonumber
+
+local setmetatable = setmetatable
+
+-- coretemp
+-- lain.widgets.temp
+local temp = {}
+
+local function worker(args)
+ local args = args or {}
+ local timeout = args.timeout or 5
+ 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("*a")) / 1000
+ f:close()
+ else
+ coretemp_now = "N/A"
+ end
+
+ widget = temp.widget
+ settings()
+ end
+
+ newtimer("coretemp", timeout, update)
+ return temp.widget
+end
+
+return setmetatable(temp, { __call = function(_, ...) return worker(...) end })