#!/bin/sh
# . "$HOME/.local/libexec/statusbar/colors"
# TODO: Coloring based on speed

update() {
	sum=0
	for arg; do
		read -r i <"$arg"
		sum=$((sum + i))
	done
	cache=$XDG_RUNTIME_DIR/${1##*/}
	[ -f "$cache" ] && read -r old <"$cache" || old=0
	printf "%b" "$sum\n" >"$cache"
	printf "%b" "$((sum - old))\n"
}

rx=$(update /sys/class/net/[ew]*/statistics/rx_bytes)
tx=$(update /sys/class/net/[ew]*/statistics/tx_bytes)

printf "%b%5sB %b%5sB%b" "" "$(numfmt --to=iec "$rx")" "" "$(numfmt --to=iec "$tx")" "\n"