From 2dd809781527976307b47a598887062047e202c9 Mon Sep 17 00:00:00 2001 From: Cody Hiar Date: Thu, 20 Apr 2017 19:37:10 -0600 Subject: Making tmux configuration much easier to manage --- lib/text_roll.sh | 63 -------------------------------------------------------- 1 file changed, 63 deletions(-) delete mode 100644 lib/text_roll.sh (limited to 'lib/text_roll.sh') diff --git a/lib/text_roll.sh b/lib/text_roll.sh deleted file mode 100644 index e53247f..0000000 --- a/lib/text_roll.sh +++ /dev/null @@ -1,63 +0,0 @@ -# Rolling anything what you want. -# arg1: text to roll. -# arg2: max length to display. -# arg3: roll speed in characters per second. -roll_text() { - local text="$1" # Text to print - - if [ -z "$text" ]; then - return; - fi - - local max_len="10" # Default max length. - - if [ -n "$2" ]; then - max_len="$2" - fi - - local speed="1" # Default roll speed in chars per second. - - if [ -n "$3" ]; then - speed="$3" - fi - - # Skip rolling if the output is less than max_len. - if [ "${#text}" -le "$max_len" ]; then - echo "$text" - return - fi - - # Anything starting with 0 is an Octal number in Shell,C or Perl, - # so we must explicitly state the base of a number using base#number - local offset=$((10#$(date +%s) * ${speed} % ${#text})) - - # Truncate text. - text=${text:offset} - - local char # Character. - local bytes # The bytes of one character. - local index - - for ((index=0; index < max_len; index++)); do - char=${text:index:1} - bytes=$(echo -n $char | wc -c) - # The character will takes twice space - # of an alphabet if (bytes > 1). - if ((bytes > 1)); then - max_len=$((max_len - 1)) - fi - done - - text=${text:0:max_len} - - #echo "index=${index} max=${max_len} len=${#text}" - # How many spaces we need to fill to keep - # the length of text that will be shown? - local fill_count=$((${index} - ${#text})) - - for ((index=0; index < fill_count; index++)); do - text="${text} " - done - - echo "${text}" -} -- cgit v1.2.3