#!/usr/bin/env bash

BAR_FOREGROUND="#2cc400"
BAR_BACKGROUND="gray"

HOSTS="
delta
alpha
hades
beta
titi
grosMinet
"

INTERVAL=5
MAX_TIME_PER_PING=1
BAR_WIDTH=40


MAX_HOST_NAME_LENGTH=1
for host in ${HOSTS}
do
    if [ ${#host} -gt ${MAX_HOST_NAME_LENGTH} ]
    then
	MAX_HOST_NAME_LENGTH=${#host}
    fi
done
PADDING_CHARS="               "

while true
do
    summary=""
    long=""
    for host in ${HOSTS}
    do
	padding_lng=$(( ${MAX_HOST_NAME_LENGTH} - ${#host} ))
	padding=${PADDING_CHARS:0:${padding_lng}}
	if ping -c 1 -W ${MAX_TIME_PER_PING} ${host} > /dev/null
	then
	    summary="${summary}1"
	    long="${long}${host}${padding}\
$(echo 100 | gdbar -w ${BAR_WIDTH} -fg ${BAR_FOREGROUND} -bg ${BAR_BACKGROUND})+++"
	else
	    summary=${summary}"0"
	    long="${long}${host}${padding}\
$(echo 0 | gdbar -w ${BAR_WIDTH} -fg ${BAR_FOREGROUND} -bg ${BAR_BACKGROUND})+++"
	fi
    done

    echo "["${summary}"]"
    echo -n "${long}"|sed s/+++/\\n/g

    sleep ${INTERVAL}
done
