diff --git a/test321.sh b/test321.sh deleted file mode 100755 index c076fa3..0000000 --- a/test321.sh +++ /dev/null @@ -1,96 +0,0 @@ -#!/bin/bash - - # tclock - Display a clock in a terminal - - BG_BLUE="$(tput setab 4)" - FG_BLACK="$(tput setaf 0)" - FG_WHITE="$(tput setaf 7)" - -terminal_size() { # Calculate the size of the terminal -terminal_cols="$(tput cols)" -terminal_rows="$(tput lines)" - } - -banner_size() { - - # Because there are different versions of banner, we need to - # calculate the size of our banner's output - -banner_cols=0 -banner_rows=0 - -while read; do - [[ ${#REPLY} -gt $banner_cols ]] && banner_cols=${#REPLY} - ((++banner_rows)) - done < <(banner "12:34 PM") - } - -display_clock() { - - # Since we are putting the clock in the center of the terminal, - # we need to read each line of banner's output and place it in the - # right spot. - - local row=$clock_row - - while read; do - tput cup $row $clock_col - echo -n "$REPLY" - ((++row)) - done < <(banner "$(date +'%I:%M %p')") - } - - # Set a trap to restore terminal on Ctrl-c (exit). - # Reset character attributes, make cursor visible, and restore - # previous screen contents (if possible). - -trap 'tput sgr0; tput cnorm; tput rmcup || clear; exit 0' SIGINT - - # Save screen contents and make cursor invisible -tput smcup; tput civis - - # Calculate sizes and positions - terminal_size - banner_size - clock_row=$(((terminal_rows - banner_rows) / 2)) - clock_col=$(((terminal_cols - banner_cols) / 2)) - progress_row=$((clock_row + banner_rows + 1)) - progress_col=$(((terminal_cols - 60) / 2)) - - # In case the terminal cannot paint the screen with a background - # color (tmux has this problem), create a screen-size string of - # spaces so we can paint the screen the hard way. - - blank_screen= - for ((i=0; i < (terminal_cols * terminal_rows); ++i)); do - blank_screen="${blank_screen} " - done - - # Set the foreground and background colors and go! - echo -n ${BG_BLUE}${FG_WHITE} -while true; do - - # Set the background and draw the clock - -if tput bce; then # Paint the screen the easy way if bce is supported - clear -else # Do it the hard way -tput home -echo -n "$blank_screen" - fi -tput cup $clock_row $clock_col -display_clock - - # Draw a black progress bar then fill it in white -tput cup $progress_row $progress_col - echo -n ${FG_BLACK} - echo -n "###########################################################" -tput cup $progress_row $progress_col -echo -n ${FG_WHITE} - -# Advance the progress bar every second until a minute is used up - for ((i = $(date +%S);i < 60; ++i)); do - echo -n "#" - sleep 1 - done - done