diff --git a/CHANGES b/CHANGES index 5eac3b1..4e33af5 100644 --- a/CHANGES +++ b/CHANGES @@ -2,6 +2,10 @@ Full changelog is available online: http://git.sysphere.org/vicious/log/?showmsg=1 --------------------------------------------------- +fac688e wifi: add support for /usr/bin binary path +f7fdd90 README: usage examples are for awesome version 3.4 +d63343e contrib: add buildbot monitoring widget +8f2f155 Next release, tag 2.1.0 da37c09 mdir: add support for maildir whitespaces eba6eb0 README: prefer vicious in global space c28bac5 uptime: metatable bugfix after lua52 port fixed by Jorg Thalheim diff --git a/README b/README index 3a92628..6d1104b 100644 --- a/README +++ b/README @@ -373,8 +373,8 @@ file with their GPG key. Trough the GPG Passphrase Agent they could then decrypt the file transparently while their session is active. -Usage examples --------------- +Usage examples (for awesome v3.4) +--------------------------------- Start with a simple widget, like date. Then build your setup from there, one widget at a time. Also remember that besides creating and registering widgets you have to add them to a wibox (statusbar) in diff --git a/widgets/wifi.lua b/widgets/wifi.lua index 80dcdee..15666e5 100644 --- a/widgets/wifi.lua +++ b/widgets/wifi.lua @@ -9,11 +9,11 @@ local math = { ceil = math.ceil } local setmetatable = setmetatable local helpers = require("vicious.helpers") local io = { - open = io.open, + open = io.open, popen = io.popen } local string = { - find = string.find, + find = string.find, match = string.match } -- }}} @@ -24,6 +24,12 @@ local string = { local wifi = {} +-- {{{ Variable definitions +local iwconfig = "iwconfig" +local iwcpaths = { "/sbin", "/usr/sbin", "/usr/local/sbin", "/usr/bin" } +-- }}} + + -- {{{ Wireless widget type local function worker(format, warg) if not warg then return end @@ -39,14 +45,19 @@ local function worker(format, warg) ["{sign}"] = 0 } - -- Get data from iwconfig where available - local iwconfig = "/sbin/iwconfig" - local f = io.open(iwconfig, "rb") - if not f then - iwconfig = "/usr/sbin/iwconfig" - else - f:close() + -- Sbin paths aren't in user PATH, search for the binary + if iwconfig == "iwconfig" then + for _, p in ipairs(iwcpaths) do + local f = io.open(p .. "/iwconfig", "rb") + if f then + iwconfig = p .. "/iwconfig" + f:close() + break + end + end end + + -- Get data from iwconfig where available local f = io.popen(iwconfig .." ".. warg .. " 2>&1") local iw = f:read("*all") f:close()