X-Git-Url: https://git.madduck.net/etc/awesome.git/blobdiff_plain/e07eee461894dd5f36e96c4162e2165c2213e098..f291bd62b75e4d18b6e96fff845c3597640d92a7:/widgets/net.lua diff --git a/widgets/net.lua b/widgets/net.lua index d1179a2..d859d91 100644 --- a/widgets/net.lua +++ b/widgets/net.lua @@ -14,9 +14,9 @@ local naughty = require("naughty") local wibox = require("wibox") local io = { popen = io.popen } -local tostring = tostring local string = { format = string.format, - gsub = string.gsub } + gsub = string.gsub, + match = string.match } local setmetatable = setmetatable @@ -29,7 +29,7 @@ local net = { function net.get_device() f = io.popen("ip link show | cut -d' ' -f2,9") - ws = f:read("*a") + ws = f:read("*all") f:close() ws = ws:match("%w+: UP") or ws:match("ppp%w+: UNKNOWN") if ws ~= nil then @@ -56,7 +56,10 @@ local function worker(args) function update() net_now = {} - if iface == "" then iface = net.get_device() end + if iface == "" or string.match(iface, "network off") + then + iface = net.get_device() + end net_now.carrier = helpers.first_line('/sys/class/net/' .. iface .. '/carrier') or "0" @@ -67,10 +70,10 @@ local function worker(args) local now_r = helpers.first_line('/sys/class/net/' .. iface .. '/statistics/rx_bytes') or 0 - net_now.sent = tostring((now_t - net.last_t) / timeout / units) + net_now.sent = (now_t - net.last_t) / timeout / units net_now.sent = string.gsub(string.format('%.1f', net_now.sent), ",", ".") - net_now.received = tostring((now_r - net.last_r) / timeout / units) + net_now.received = (now_r - net.last_r) / timeout / units net_now.received = string.gsub(string.format('%.1f', net_now.received), ",", ".") widget = net.widget