X-Git-Url: https://git.madduck.net/etc/awesome.git/blobdiff_plain/dc614905b0e55d80fcf78f28f3454833d513837a..398edb9bf94ecd0d4a9a0cb22b8f93aeee69dde7:/widgets/abase.lua?ds=inline

diff --git a/widgets/abase.lua b/widgets/abase.lua
index 7eef754..300cc1b 100644
--- a/widgets/abase.lua
+++ b/widgets/abase.lua
@@ -7,20 +7,22 @@
 --]]
 
 local helpers      = require("lain.helpers")
-local wibox        = require("wibox")
+local textbox      = require("wibox.widget.textbox")
 local setmetatable = setmetatable
 
--- Basic template for custom widgets (asynchronous version)
+-- Template for custom asynchronous widgets
 -- lain.widgets.abase
 
 local function worker(args)
-    local abase     = helpers.make_widget_textbox()
+    local abase     = {}
     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 or ""
-    local settings  = args.settings or function() end
+    local cmd       = args.cmd
+    local settings  = args.settings or function() widget:set_text(output) end
+
+    abase.widget = args.widget or textbox()
 
     function abase.update()
         helpers.async(cmd, function(f)
@@ -35,7 +37,7 @@ local function worker(args)
 
     abase.timer = helpers.newtimer(cmd, timeout, abase.update, nostart, stoppable)
 
-    return setmetatable(abase, { __index = abase.widget })
+    return abase
 end
 
 return setmetatable({}, { __call = function(_, ...) return worker(...) end })