base: removed

This commit is contained in:
copycat-killer 2017-01-29 14:45:15 +01:00
parent 2e5d0fbabc
commit f914e6411e
4 changed files with 7 additions and 57 deletions

View File

@ -11,8 +11,7 @@ local easy_async = require("awful.spawn").easy_async
local timer = require("gears.timer") local timer = require("gears.timer")
local debug = require("debug") local debug = require("debug")
local io = { lines = io.lines, local io = { lines = io.lines,
open = io.open, open = io.open }
popen = io.popen }
local rawget = rawget local rawget = rawget
local table = { sort = table.sort } local table = { sort = table.sort }
@ -108,16 +107,6 @@ end
-- {{{ Pipe operations -- {{{ 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) -- run a command and execute a function on its output (asynchronous pipe)
-- @param cmd the input command -- @param cmd the input command
-- @param callback function to execute on cmd output -- @param callback function to execute on cmd output

View File

@ -7,22 +7,22 @@
--]] --]]
local helpers = require("lain.helpers") local helpers = require("lain.helpers")
local wibox = require("wibox") local textbox = require("wibox.widget.textbox")
local setmetatable = setmetatable local setmetatable = setmetatable
-- Basic template for custom widgets (asynchronous version) -- Template for custom asynchronous widgets
-- lain.widgets.abase -- lain.widgets.abase
local function worker(args) local function worker(args)
local abase = { widget = wibox.widget.textbox() } local abase = {}
local args = args or {} local args = args or {}
local timeout = args.timeout or 5 local timeout = args.timeout or 5
local nostart = args.nostart or false local nostart = args.nostart or false
local stoppable = args.stoppable or false local stoppable = args.stoppable or false
local cmd = args.cmd 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() function abase.update()
helpers.async(cmd, function(f) helpers.async(cmd, function(f)

View File

@ -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 })

2
wiki

@ -1 +1 @@
Subproject commit eb6bd5b9ca0b333864322bcb585b53dc6b026199 Subproject commit 33fae84ccc501b01b3a8e170eacc87a50364ea56