X-Git-Url: https://git.madduck.net/etc/awesome.git/blobdiff_plain/705c3cea9b982ec0e50c4cef18d1da0b31d4cb03..bd8442c2ef8b51eac261c9722e16ec1afd1ac13b:/widgets/base.lua?ds=sidebyside

diff --git a/widgets/base.lua b/widgets/base.lua
index 3d4ce9e..2f377f7 100644
--- a/widgets/base.lua
+++ b/widgets/base.lua
@@ -7,16 +7,17 @@
 --]]
 
 local newtimer     = require("lain.helpers").newtimer
+local read_pipe    = require("lain.helpers").read_pipe
+
 local wibox        = require("wibox")
 
-local io           = io
 local setmetatable = setmetatable
 
--- Basic template for custom widgets 
+-- Basic template for custom widgets
 -- lain.widgets.base
-local base = {}
 
 local function worker(args)
+    local base     = {}
     local args     = args or {}
     local timeout  = args.timeout or 5
     local cmd      = args.cmd or ""
@@ -25,9 +26,7 @@ local function worker(args)
     base.widget = wibox.widget.textbox('')
 
     function base.update()
-        local f = assert(io.popen(cmd))
-        output = f:read("*all")
-        f:close()
+        output = read_pipe(cmd)
         widget = base.widget
         settings()
     end
@@ -37,4 +36,4 @@ local function worker(args)
     return setmetatable(base, { __index = base.widget })
 end
 
-return setmetatable(base, { __call = function(_, ...) return worker(...) end })
+return setmetatable({}, { __call = function(_, ...) return worker(...) end })