Created
September 15, 2012 18:23
Revisions
-
ttscoff revised this gist
Sep 16, 2012 . No changes.There are no files selected for viewing
-
ttscoff revised this gist
Sep 16, 2012 . 1 changed file with 5 additions and 2 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -2,6 +2,7 @@ # # matrix: matrix-ish display for Bash terminal # Author: Brett Terpstra 2012 <http://brettterpstra.com> # Contributors: Lauri Ranta and Carl <http://blog.carlsensei.com/> # # A morning project. Could have been better, but I'm learning when to stop. @@ -30,12 +31,14 @@ scroll=${2:-0} # 0 for static, positive integer determines scroll speed screenlines=$(expr `tput lines` - 1 + $scroll) screencols=$(expr `tput cols` / 2 - 1) # chars=(a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 ^) # charset via Carl: chars=(ア イ ウ エ オ カ キ ク ケ コ サ シ ス セ ソ タ チ ツ テ ト ナ ニ ヌ ネ ノ ハ ヒ フ ヘ ホ マ ミ ム メ モ ヤ ユ ヨ ラ リ ル レ ロ ワ ン) count=${#chars[@]} colorcount=${#colors[@]} trap "tput sgr0; clear; exit" SIGTERM SIGINT if [[ $1 =~ '-h' ]]; then echo "Display a Matrix(ish) screen in the terminal" -
ttscoff created this gist
Sep 15, 2012 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,71 @@ #!/bin/bash # # matrix: matrix-ish display for Bash terminal # Author: Brett Terpstra 2012 <http://brettterpstra.com> # # A morning project. Could have been better, but I'm learning when to stop. ### Customization: blue="\033[0;34m" brightblue="\033[1;34m" cyan="\033[0;36m" brightcyan="\033[1;36m" green="\033[0;32m" brightgreen="\033[1;32m" red="\033[0;31m" brightred="\033[1;31m" white="\033[1;37m" black="\033[0;30m" grey="\033[0;37m" darkgrey="\033[1;30m" # Choose the colors that will be used from the above list # space-separated list # e.g. `colors=($green $brightgreen $darkgrey $white)` colors=($green $brightgreen) ### End customization ### Do not edit below this line spacing=${1:-100} # the likelihood of a character being left in place scroll=${2:-0} # 0 for static, positive integer determines scroll speed screenlines=$(expr `tput lines` - 1 + $scroll) screencols=$(expr `tput cols` / 2 - 1) chars=(a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 ^) count=${#chars[@]} colorcount=${#colors[@]} trap "clear; exit" SIGTERM SIGINT if [[ $1 =~ '-h' ]]; then echo "Display a Matrix(ish) screen in the terminal" echo "Usage: matrix [SPACING [SCROLL]]" echo "Example: matrix 100 0" exit 0 fi clear tput cup 0 0 while : do for i in $(eval echo {1..$screenlines}) do for i in $(eval echo {1..$screencols}) do rand=$(($RANDOM%$spacing)) case $rand in 0) printf "${colors[$RANDOM%$colorcount]}${chars[$RANDOM%$count]} " ;; 1) printf " " ;; *) printf "\033[2C" ;; esac done printf "\n" # sleep .005 done tput cup 0 0 done