Delete test321.sh
This commit is contained in:
parent
f1ae7e11d3
commit
9345dea5f1
96
test321.sh
96
test321.sh
|
@ -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
|
Loading…
Reference in New Issue