local wibox = require("wibox") local gears = require("gears") local widgets = {} function widgets.add_timer(w, callback, timeout) w._timer = gears.timer({ timeout = timeout or 5, call_now = true, autostart = true, callback = function() callback(w) end }) return w end function widgets.watchfn(callback, timeout, base_widget) local widget = (base_widget or wibox.widget.textbox)() return widgets.add_timer(widget, callback, timeout) end return widgets