diff options
author | davidovski <david@davidovski.xyz> | 2023-02-02 10:42:59 +0000 |
---|---|---|
committer | davidovski <david@davidovski.xyz> | 2023-05-17 16:52:12 +0000 |
commit | 53e854ffc351785c029ed610902b979572beeb80 (patch) | |
tree | 36dbb3675bdf25c6dbb3dfa486c301166fb343bf /src | |
parent | 7c764a03a491edf85c2aed8f5108f64b9f5a8d87 (diff) |
Fix hbar with no arguments
Diffstat (limited to 'src')
-rwxr-xr-x | src/util/hbar.sh | 29 |
1 files changed, 20 insertions, 9 deletions
diff --git a/src/util/hbar.sh b/src/util/hbar.sh index 603f66a..502bdc1 100755 --- a/src/util/hbar.sh +++ b/src/util/hbar.sh @@ -3,12 +3,12 @@ . /usr/lib/xilib.sh move_up () { - [ ! "$1" = "-1" ] && + [ ! "$1" = "0" ] && printf "\033[%dA" "$1" "0" } move_down () { - [ ! "$1" = "-1" ] && + [ ! "$1" = "0" ] && printf "\033[%dB" "$1" } @@ -21,7 +21,7 @@ count_string () { c=$1 t=$2 } - printf "[%s%s/%s%s]" $c $unit $t $unit + printf "[%s/%s]" $c $t } hbar () { @@ -58,11 +58,11 @@ hbar () { ;; esac done + shift $((OPTIND-1)) [ "$#" -lt 2 ] && { - printf "$RESET\n" - exit 1 + return 1 } completed="$1" @@ -71,7 +71,7 @@ hbar () { move_up $line count=$(count_string $completed $total) - printf "\r$text" + #printf "\r$text" printf "$RESET\r" printf "$color" @@ -86,16 +86,27 @@ hbar () { printf "%s" "${text%%${text#?}}" text="${text#?}" } || { - printf " " + [ "$((width-${#count}))" = "$i" ] && { + printf "%s" "${count%%${count#?}}" + count="${count#?}" + } || { + printf " " + } } i=$((i+1)) done move_down $line - $terminate && printf "$RESET\n" + printf "$RESET" + $terminate && printf "\n" exit 0 } -printf "%s" "$(hbar "$@")" +[ "$#" -eq "0" ] && { + printf "$RESET\n" + exit 0 +} + +printf "$(hbar "$@")" |