lain/widgets/temp.lua

53 lines
1.4 KiB
Lua
Raw Normal View History

2013-09-07 12:06:42 +02:00
--[[
Licensed under GNU General Public License v2
* (c) 2013, Luke Bonham
--]]
local markup = require("lain.util.markup")
local beautiful = require("beautiful")
local wibox = require("wibox")
local io = io
local tonumber = tonumber
local setmetatable = setmetatable
-- coretemp
-- 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))
end
local mytemptimer = timer({ timeout = refresh_timeout })
mytemptimer:connect_signal("timeout", mytempupdate)
mytemptimer:start()
mytemptimer:emit_signal("timeout")
return mytemp
end
return setmetatable(temp, { __call = function(_, ...) return worker(...) end })