From 78db7d43845d3ea276b8028bec6d67b5a5641a1b Mon Sep 17 00:00:00 2001 From: NeodarZ Date: Wed, 21 Sep 2016 20:01:28 +0200 Subject: =?UTF-8?q?Ajout=20de=20la=20conf=20de=20vim=20+=20mise=20=C3=A0?= =?UTF-8?q?=20jour=20de=20la=20structure?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- i3/blocks/bandwidth | 96 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100755 i3/blocks/bandwidth (limited to 'i3/blocks/bandwidth') diff --git a/i3/blocks/bandwidth b/i3/blocks/bandwidth new file mode 100755 index 0000000..f0b18cf --- /dev/null +++ b/i3/blocks/bandwidth @@ -0,0 +1,96 @@ +#!/bin/bash +# Source: http://www.onlamp.com/pub/a/linux/2000/11/16/LinuxAdmin.html + +INSTANCE="${BLOCK_INSTANCE}" + +if [[ "${INSTANCE}" = "" ]]; then + INSTANCE="wlp3s0;both" +fi + +DISPLAY=$(echo "${INSTANCE}" | awk -F ';' '{print $2}') +INSTANCE=$(echo "${INSTANCE}" | awk -F ';' '{print $1}') + +if [[ "${DISPLAY}" = "" ]]; then + DISPLAY="both" +fi + +ONE_KB=1024 +ONE_MB=$(echo "${ONE_KB}*1024" | bc -l) +TEN_MB=$(echo "${ONE_MB}*10" | bc -l) +OHD_MB=$(echo "${TEN_MB}*10" | bc -l) + +URGENT_VALUE="${ONE_MB}" + +PREV_IN=0 +PREV_OUT=0 + +PREV_FILE="/tmp/.bandwidth" + +if [[ -f "${PREV_FILE}" ]]; then + PREV_CONT=$(cat "${PREV_FILE}") + PREV_IN=$(echo "${PREV_CONT}" | head -n 1) + PREV_OUT=$(echo "${PREV_CONT}" | tail -n 1) +fi + +BANDWIDTH=$(grep "${INSTANCE}" /proc/net/dev | awk -F: '{print $2}' | awk '{print $1" "$9}') + +if [[ "${BANDWIDTH}" = "" ]]; then + exit +fi + +BYTES_IN=$(echo "${BANDWIDTH}" | awk -F ' ' '{print $1}') +BYTES_OUT=$(echo "${BANDWIDTH}" | awk -F ' ' '{print $2}') + +function FormatNumber() { + if [[ "${1}" -ge "${OHD_MB}" ]]; then + echo $(echo "scale=0;${1}/${ONE_MB}" | bc -l)"mb" + elif [[ "${1}" -ge "${TEN_MB}" ]]; then + echo $(echo "scale=1;${1}/${ONE_MB}" | bc -l)"mb" + elif [[ "${1}" -ge "${ONE_MB}" ]]; then + echo $(echo "scale=2;${1}/${ONE_MB}" | bc -l)"mb" + elif [[ "${1}" -ge "${ONE_KB}" ]]; then + echo $(echo "scale=0;${1}/${ONE_KB}" | bc -l)"kb" + else + echo "${1}""b" + fi +} + +if [[ "${PREV_IN}" != "" ]] && [[ "${PREV_OUT}" != "" ]]; then + # Calculate the CPU usage since we last checked. + DIFF_IN=$(echo "scale=0;${BYTES_IN} - ${PREV_IN}" | bc -l) + DIFF_OUT=$(echo "scale=0;${BYTES_OUT} - ${PREV_OUT}" | bc -l) + DIFF_TOTAL=0 + + USAGE_IN=$(FormatNumber "${DIFF_IN}") + USAGE_OUT=$(FormatNumber "${DIFF_OUT}") + + if [[ "${DISPLAY}" = "both" ]]; then + echo "${USAGE_IN} : ${USAGE_OUT}" + echo "${USAGE_IN} : ${USAGE_OUT}" + echo "" + DIFF_TOTAL=$((DIFF_TOTAL+DIFF_IN)) + DIFF_TOTAL=$((DIFF_TOTAL+DIFF_OUT)) + elif [[ "${DISPLAY}" = "in" ]]; then + echo "${USAGE_IN}" + echo "${USAGE_IN}" + echo "" + DIFF_TOTAL=$((DIFF_TOTAL+DIFF_IN)) + elif [[ "${DISPLAY}" = "out" ]]; then + echo "${USAGE_OUT}" + echo "${USAGE_OUT}" + echo "" + DIFF_TOTAL=$((DIFF_TOTAL+DIFF_OUT)) + fi +else + echo "?" + echo "?" + echo "" +fi + +# Remember the total and idle CPU times for the next check. +echo "${BYTES_IN}" > "${PREV_FILE}" +echo "${BYTES_OUT}" >> "${PREV_FILE}" + +if [[ "${DIFF_TOTAL}" -ge "${URGENT_VALUE}" ]]; then + exit 33 +fi \ No newline at end of file -- cgit v1.2.1