X-Git-Url: https://git.madduck.net/etc/awesome.git/blobdiff_plain/c155301459aa73a1b5e9a1b674be12f03021c4fe:/widgets/watch.lua..8d3868d7ce528cfc075e246c8935bae2724e0868:/widget/static/gitweb.js diff --git a/widgets/watch.lua b/widgets/watch.lua deleted file mode 100644 index abca92b..0000000 --- a/widgets/watch.lua +++ /dev/null @@ -1,43 +0,0 @@ - ---[[ - - Licensed under GNU General Public License v2 - * (c) 2014, Luke Bonham - ---]] - -local helpers = require("lain.helpers") -local textbox = require("wibox.widget.textbox") -local setmetatable = setmetatable - --- Template for asynchronous watcher widgets --- lain.widgets.watch - -local function worker(args) - local watch = {} - local args = args or {} - local timeout = args.timeout or 5 - local nostart = args.nostart or false - local stoppable = args.stoppable or false - local cmd = args.cmd - local settings = args.settings or function() widget:set_text(output) end - - watch.widget = args.widget or textbox() - - function watch.update() - helpers.async(cmd, function(f) - output = f - if output ~= watch.prev then - widget = watch.widget - settings() - watch.prev = output - end - end) - end - - watch.timer = helpers.newtimer(cmd, timeout, watch.update, nostart, stoppable) - - return watch -end - -return setmetatable({}, { __call = function(_, ...) return worker(...) end })