From 32a7be1d6dd25eb47937789b8cb689b67d2fbb84 Mon Sep 17 00:00:00 2001 From: "Adrian C. (anrxc)" Date: Tue, 19 Oct 2010 21:23:06 +0200 Subject: [PATCH] wifi: provide link quality in percent --- README | 2 +- widgets/wifi.lua | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/README b/README index c038eaf..54ca144 100644 --- a/README +++ b/README @@ -198,7 +198,7 @@ vicious.widgets.wifi - provides wireless information for a requested interface - takes the network interface as an argument, i.e. "wlan0" - returns a table with string keys: {ssid}, {mode}, {chan}, {rate}, - {link} and {sign} + {link}, {linp} and {sign} vicious.widgets.mbox - provides the subject of last e-mail in a mbox file diff --git a/widgets/wifi.lua b/widgets/wifi.lua index 5801bd5..9e8583a 100644 --- a/widgets/wifi.lua +++ b/widgets/wifi.lua @@ -5,6 +5,7 @@ -- {{{ Grab environment local tonumber = tonumber +local math = { ceil = math.ceil } local setmetatable = setmetatable local io = { open = io.open, @@ -28,6 +29,7 @@ local winfo = { ["{chan}"] = 0, ["{rate}"] = 0, ["{link}"] = 0, + ["{linp}"] = 0, ["{sign}"] = 0 } @@ -67,6 +69,9 @@ local function worker(format, warg) winfo["{sign}"] = -- Signal level can be a negative value, don't display decibel notation tonumber(string.match(iw, "Signal level[=:]([%-]?[%d]+)") or winfo["{sign}"]) + -- Link quality percentage if quality was available + if winfo["{link}"] ~= 0 then winfo["{linp}"] = math.ceil(winfo["{link}"] / 0.7) end + return winfo end -- }}}