]>
git.madduck.net Git - etc/awesome.git/blobdiff - widgets/net.lua
madduck's git repository
Every one of the projects in this repository is available at the canonical
URL git://git.madduck.net/madduck/pub/<projectpath> — see
each project's metadata for the exact URL.
All patches and comments are welcome. Please squash your changes to logical
commits before using git-format-patch and git-send-email to
patches@ git. madduck. net .
If you'd read over the Git project's submission guidelines and adhered to them,
I'd be especially grateful.
SSH access, as well as push access can be individually
arranged .
If you use my repositories frequently, consider adding the following
snippet to ~/.gitconfig and using the third clone URL listed for each
project:
[url "git://git.madduck.net/madduck/"]
insteadOf = madduck:
local naughty = require("naughty")
local wibox = require("wibox")
local naughty = require("naughty")
local wibox = require("wibox")
-local io = { popen = io.popen }
local string = { format = string.format,
gsub = string.gsub,
match = string.match }
local string = { format = string.format,
gsub = string.gsub,
match = string.match }
-- Network infos
-- lain.widgets.net
-- Network infos
-- lain.widgets.net
-local net = {
- last_t = 0,
- last_r = 0
-}
-
-function net.get_device()
- f = io.popen("ip link show | cut -d' ' -f2,9")
- ws = f:read("*a")
- f:close()
- ws = ws:match("%w+: UP") or ws:match("ppp%w+: UNKNOWN")
- if ws ~= nil then
- return ws:match("(%w+):")
- else
- return "network off"
- end
-end
local function worker(args)
local function worker(args)
+ local net = { last_t = 0, last_r = 0 }
+
+ function net.get_device()
+ local ws = helpers.read_pipe("ip link show | cut -d' ' -f2,9")
+ ws = ws:match("%w+: UP") or ws:match("ppp%w+: UNKNOWN")
+ if ws ~= nil then
+ return ws:match("(%w+):")
+ else
+ return "network off"
+ end
+ end
+
local args = args or {}
local timeout = args.timeout or 2
local units = args.units or 1024 --kb
local args = args or {}
local timeout = args.timeout or 2
local units = args.units or 1024 --kb
end
helpers.newtimer(iface, timeout, update)
end
helpers.newtimer(iface, timeout, update)
+
+ return setmetatable(net, { __index = net.widget })
-return setmetatable(net , { __call = function(_, ...) return worker(...) end })
+return setmetatable({} , { __call = function(_, ...) return worker(...) end })