diff options
author | xero <x@xero.nu> | 2014-07-14 13:23:05 -0400 |
---|---|---|
committer | xero <x@xero.nu> | 2014-07-14 13:23:05 -0400 |
commit | 56560fd597f94dfe6fe5fa79648398ab29d05775 (patch) | |
tree | 7e77d23be98b2df8ef847f49ee645085356305be /.config/awesome/lain/widgets/net.lua | |
parent | 1434c859bcf94a0bbee88e72c8a01849d0356293 (diff) | |
download | dotfiles_ascii-56560fd597f94dfe6fe5fa79648398ab29d05775.tar.xz dotfiles_ascii-56560fd597f94dfe6fe5fa79648398ab29d05775.zip |
updated repo to manage dotfiles via gnu stow, the symlink farm manager. happy birthday commit! :birthday: :sparkles:
Diffstat (limited to '.config/awesome/lain/widgets/net.lua')
-rw-r--r-- | .config/awesome/lain/widgets/net.lua | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/.config/awesome/lain/widgets/net.lua b/.config/awesome/lain/widgets/net.lua deleted file mode 100644 index af97201..0000000 --- a/.config/awesome/lain/widgets/net.lua +++ /dev/null @@ -1,102 +0,0 @@ - ---[[ - - Licensed under GNU General Public License v2 - * (c) 2013, Luke Bonham - * (c) 2010-2012, Peter Hofmann - ---]] - -local helpers = require("lain.helpers") - -local notify_fg = require("beautiful").fg_focus -local naughty = require("naughty") -local wibox = require("wibox") - -local io = io -local tostring = tostring -local string = { format = string.format, - gsub = string.gsub } - -local setmetatable = setmetatable - --- 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("*all") - f:close() - ws = ws:match("%w+: UP") - if ws ~= nil then - return ws:gsub(": UP", "") - else - return "network off" - end -end - -local function worker(args) - local args = args or {} - local timeout = args.timeout or 2 - local iface = args.iface or net.get_device() - local units = args.units or 1024 --kb - local settings = args.settings or function() end - - net.widget = wibox.widget.textbox('') - - helpers.set_map(iface, true) - - function update() - net_now = {} - - if iface == "" then iface = net.get_device() end - - net_now.carrier = helpers.first_line('/sys/class/net/' .. iface .. - '/carrier') or "0" - net_now.state = helpers.first_line('/sys/class/net/' .. iface .. - '/operstate') or "down" - local now_t = helpers.first_line('/sys/class/net/' .. iface .. - '/statistics/tx_bytes') or 0 - 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 = string.gsub(string.format('%.1f', net_now.sent), ",", ".") - - net_now.received = tostring((now_r - net.last_r) / timeout / units) - net_now.received = string.gsub(string.format('%.1f', net_now.received), ",", ".") - - widget = net.widget - settings() - - net.last_t = now_t - net.last_r = now_r - - if net_now.carrier ~= "1" - then - if helpers.get_map(iface) - then - naughty.notify({ - title = iface, - text = "no carrier", - timeout = 7, - position = "top_left", - icon = helpers.icons_dir .. "no_net.png", - fg = notify_fg or "#FFFFFF" - }) - helpers.set_map(iface, false) - end - else - helpers.set_map(iface, true) - end - end - - helpers.newtimer(iface, timeout, update) - return net.widget -end - -return setmetatable(net, { __call = function(_, ...) return worker(...) end }) |