39 lines
1.2 KiB
Lua
39 lines
1.2 KiB
Lua
---------------------------------------------------------------------------
|
|
-- @author Julien Danjou <julien@danjou.info>
|
|
-- @copyright 2009 Julien Danjou
|
|
-- @release @AWESOME_VERSION@
|
|
---------------------------------------------------------------------------
|
|
|
|
local setmetatable = setmetatable
|
|
local os = os
|
|
local textbox = require("wibox.widget.textbox")
|
|
local capi = { timer = timer }
|
|
|
|
--- Text clock widget.
|
|
-- awful.widget.textclock
|
|
local textclock = { mt = {} }
|
|
|
|
--- Create a textclock widget. It draws the time it is in a textbox.
|
|
-- @param format The time format. Default is " %a %b %d, %H:%M ".
|
|
-- @param timeout How often update the time. Default is 60.
|
|
-- @return A textbox widget.
|
|
function textclock.new(format, timeout)
|
|
local format = format or " %a %b %d, %H:%M "
|
|
local timeout = timeout or 60
|
|
|
|
local w = textbox()
|
|
local timer = capi.timer { timeout = timeout }
|
|
timer:connect_signal("timeout", function() w:set_markup(os.date(format)) end)
|
|
timer:start()
|
|
timer:emit_signal("timeout")
|
|
return w
|
|
end
|
|
|
|
function textclock.mt:__call(...)
|
|
return textclock.new(...)
|
|
end
|
|
|
|
return setmetatable(textclock, textclock.mt)
|
|
|
|
-- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80
|