tput civis
R=$(tput setaf 1)
BR=$(tput setaf 1; tput bold)
G=$(tput setaf 2)
BG=$(tput setaf 2; tput bold)
Y=$(tput setaf 3)
BY=$(tput setaf 3; tput bold)
B=$(tput setaf 4)
BM=$(tput setaf 5; tput bold)
BC=$(tput setaf 6; tput bold)
BL=$(tput setaf 7; tput bold)
BLD=$(tput bold)
N=$(tput sgr0)
SIT=$(tput sitm)
RIT=$(tput ritm)
UL=$(tput smul)
NL=$(tput rmul)
RV=$(tput rev)
ROWS=$(tput lines)
COLS=$(tput cols)
clear
while true; do
[[ $(date +%-H) -gt 0 ]] && COLOR="$BG"
[[ $(date +%-H) -gt 11 ]] && COLOR="$BY"
[[ $(date +%-H) -gt 19 ]] && COLOR="$BR"
HOR=$(date +%-H)
MIN=$(date +%-M)
TOT_MIN=$(( HOR * 60 + MIN ))
DAY_MIN=1440
PCT=$(( TOT_MIN * 1000 / DAY_MIN ))
PCT_INT=$(( PCT / 10 ))
PCT_DEC=$(( PCT % 10 ))
FILLED_SEG=$(( TOT_MIN / 30 ))
EMPTY_SEG=$(( 48 - FILLED_SEG ))
BAR_FILL=$(printf "${COLOR}โ${N}%.0s" $(seq 1 $FILLED_SEG 2>/dev/null))
BAR_EMPTY=$(printf 'โ%.0s' $(seq 1 $EMPTY_SEG 2>/dev/null))
TICKS=""
for h in {0..23}; do
TICKS="${TICKS}โยท"
done
TICKS="${TICKS}โ"
LABELS_TENS=""
LABELS_ONES=""
for h in {0..24}; do
TENS=$(( h / 10 ))
ONES=$(( h % 10 ))
if [ "$TENS" -eq 0 ] && [ "$h" -ne 0 ]; then
LABELS_TENS="${LABELS_TENS} "
else
LABELS_TENS="${LABELS_TENS}${TENS} "
fi
LABELS_ONES="${LABELS_ONES}${ONES} "
done
echo -ne "\033[H"
echo -e "๐ ${BG}Time:${N} ${BLD}$(date +%T)${N} | ๐ ${BG}Progress:${N} ${BLD}${PCT_INT}.${PCT_DEC}%${N} | ๐ ${BG}Date:${N} ${BLD}$(date +%x)${N}"
echo -e "------------------------------------------------------------------"
echo " $LABELS_TENS"
echo " $LABELS_ONES"
echo " $TICKS"
echo -e " ${BAR_FILL}${BAR_EMPTY}"
echo -e "------------------------------------------------------------------\n"
if [[ $# -gt 0 ]]
then
exit
else
echo " Press [CTRL+C] to exit."
sleep 1
fi
done