From: copycat-killer Date: Sun, 29 Jan 2017 13:45:15 +0000 (+0100) Subject: base: removed X-Git-Url: https://git.madduck.net/etc/awesome.git/commitdiff_plain/f914e6411e53186843ad628e321d6ada2f128466?ds=sidebyside;hp=--cc base: removed --- f914e6411e53186843ad628e321d6ada2f128466 diff --git a/helpers.lua b/helpers.lua index f32c4ad..4e5ce1f 100644 --- a/helpers.lua +++ b/helpers.lua @@ -11,8 +11,7 @@ local easy_async = require("awful.spawn").easy_async local timer = require("gears.timer") local debug = require("debug") local io = { lines = io.lines, - open = io.open, - popen = io.popen } + open = io.open } local rawget = rawget local table = { sort = table.sort } @@ -108,16 +107,6 @@ end -- {{{ Pipe operations --- return the full output of an input command (synchronous pipe) --- @param cmd the input command --- @return command output (string) -function helpers.read_pipe(cmd) - local f = io.popen(cmd) - local output = f:read("*all") - f:close() - return output -end - -- run a command and execute a function on its output (asynchronous pipe) -- @param cmd the input command -- @param callback function to execute on cmd output diff --git a/widgets/abase.lua b/widgets/abase.lua index 409495b..300cc1b 100644 --- a/widgets/abase.lua +++ b/widgets/abase.lua @@ -7,22 +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 = { widget = wibox.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 - local settings = args.settings or function() end + local settings = args.settings or function() widget:set_text(output) end - abase.widget = wibox.widget.textbox() + abase.widget = args.widget or textbox() function abase.update() helpers.async(cmd, function(f) diff --git a/widgets/base.lua b/widgets/base.lua deleted file mode 100644 index 2a8f507..0000000 --- a/widgets/base.lua +++ /dev/null @@ -1,39 +0,0 @@ - ---[[ - - Licensed under GNU General Public License v2 - * (c) 2014, Luke Bonham - ---]] - -local helpers = require("lain.helpers") -local wibox = require("wibox") -local setmetatable = setmetatable - --- Basic template for custom widgets --- lain.widgets.base - -local function worker(args) - local base = { widget = wibox.widget.textbox() } - 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() end - - function base.update() - output = helpers.read_pipe(cmd) - if output ~= base.prev then - widget = base.widget - settings() - base.prev = output - end - end - - base.timer = helpers.newtimer(cmd, timeout, base.update, nostart, stoppable) - - return base -end - -return setmetatable({}, { __call = function(_, ...) return worker(...) end }) diff --git a/wiki b/wiki index eb6bd5b..33fae84 160000 --- a/wiki +++ b/wiki @@ -1 +1 @@ -Subproject commit eb6bd5b9ca0b333864322bcb585b53dc6b026199 +Subproject commit 33fae84ccc501b01b3a8e170eacc87a50364ea56