diff options
Diffstat (limited to 'network-widget')
-rw-r--r-- | network-widget/network.lua | 27 | ||||
-rwxr-xr-x | network-widget/networkio.sh | 7 |
2 files changed, 34 insertions, 0 deletions
diff --git a/network-widget/network.lua b/network-widget/network.lua new file mode 100644 index 0000000..898be24 --- /dev/null +++ b/network-widget/network.lua @@ -0,0 +1,27 @@ +local awful = require("awful") +local wibox = require("wibox") +local watch = require("awful.widget.watch") + +local NETWORK_DEVICE = "/home/pmakhov/.config/awesome/awesome-wm-widgets/network-widget/networkio.sh" + +net_widget = wibox.widget { + font = "Play 9", + widget = wibox.widget.textbox +} + +local rspeed_prev = 0; +local tspeed_prev = 0; + +watch(NETWORK_DEVICE, 1, + function(widget, stdout, _, _, _) + local r, t = string.match(stdout, '(%d+);(%d+)') + + local rspeed = r - rspeed_prev + local tspeed = t - tspeed_prev + + rspeed_prev = r + tspeed_prev = t + + widget:set_text(rspeed) + end, + net_widget) diff --git a/network-widget/networkio.sh b/network-widget/networkio.sh new file mode 100755 index 0000000..db3d774 --- /dev/null +++ b/network-widget/networkio.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +ACTIVE_INTERFACE="$(ip -o link show | awk '$9~/UP/{sub(":","",$2);print $2}')" + +IO="$(cat /proc/net/dev | grep ${ACTIVE_INTERFACE} | sed "s/.*://" | awk '{printf $1";"$9}')" + +echo "${IO}" |