local wibox = require("wibox")
local string = { format = string.format,
match = string.match }
-local tostring = tostring
local setmetatable = setmetatable
-- Network infos
-- lain.widgets.net
local function worker(args)
- local net = helpers.make_widget_textbox()
+ local net = { widget = wibox.widget.textbox() }
net.last_t = 0
net.last_r = 0
net.devices = {}
local settings = args.settings or function() end
-- Compatibility with old API where iface was a string corresponding to 1 interface
- net.iface = (args.iface and (type(args.iface) == "string" and {args.iface}) or (type(args.iface) == "table" and args.iface)) or {}
-
+ net.iface = (args.iface and (type(args.iface) == "string" and {args.iface}) or
+ (type(args.iface) == "table" and args.iface)) or {}
function net.get_device()
helpers.async(string.format("ip link show", device_cmd), function(ws)
- ws = ws:match("(%w+): <BROADCAST,MULTICAST,.-,UP,LOWER_UP>")
+ ws = ws:match("(%w+): <BROADCAST,MULTICAST,.-UP,LOWER_UP>")
net.iface = ws and { ws } or {}
end)
end
helpers.set_map(dev, true)
end
- -- Old api compatibility
net_now.carrier = dev_now.carrier
net_now.state = dev_now.state
- -- And new api
net_now.devices[dev] = dev_now
- -- With the new api new_now.sent and net_now.received will be the
+ -- new_now.sent and net_now.received will be the
-- totals across all specified devices
end
settings()
end
- helpers.newtimer("net-" .. tostring(net.iface), timeout, update)
+ helpers.newtimer("network", timeout, update)
return net
end