summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDerek Taylor <derek@distrotube.com>2022-02-21 17:13:12 +0000
committerDerek Taylor <derek@distrotube.com>2022-02-21 17:13:12 +0000
commitf1946a159993c49c014e07fb6ecc029f6e5c4593 (patch)
treee38f40ca4747795b40a4f79d846bce7259c0ba3c
parentMerge branch 'master' into 'master' (diff)
parentadd color scripts from stark/Color-Scripts (diff)
Merge branch 'new-scripts' into 'master'
add color scripts from stark/Color-Scripts See merge request dwt1/shell-color-scripts!17
-rwxr-xr-xcolorscripts/bomber99
-rwxr-xr-xcolorscripts/crowns19
-rwxr-xr-xcolorscripts/pinguco40
-rwxr-xr-xcolorscripts/pipes1185
-rwxr-xr-xcolorscripts/pipes252
-rwxr-xr-xcolorscripts/pipes2-slim60
6 files changed, 455 insertions, 0 deletions
diff --git a/colorscripts/bomber b/colorscripts/bomber
new file mode 100755
index 0000000..3c632ed
--- /dev/null
+++ b/colorscripts/bomber
@@ -0,0 +1,99 @@
+#!/usr/bin/env bash
+#by necro
+e="\e[0m"
+bk="\e[38;2;1;1;1m"
+bl="\e[48;2;101;166;232m"
+wh="\e[48;2;251;253;252m"
+pi="\e[48;2;229;139;121m"
+while true; do
+clear
+echo -e "
+ $bk██████████ $bk████$e
+ $bk████$wh ████$e$bk ██$bl ██$e
+ $bk██$wh ██████$bl $bk██$e
+ $bk██$pi $wh ██$e$bk ████$e
+ $bk██$pi ██ $wh ██$e
+ $bk██$pi ██ $wh ██$e
+ $bk██$pi ██ $wh ██$e
+ $bk██$pi $wh ██$e
+ $bk████$wh ██ ██$e
+ $bk████████$wh ████████$e
+ $bk██$bl ██$wh ██$bl ██$e
+ $bk██$bl ██$wh ██$bl ██$e
+ $bk██$wh ██$bl ██████$e
+ $bk██$bl ██$bl ██$bl ██$e
+ $bk████████████████$e
+ $bk██$wh ██$e
+ $bk██████████████$e
+ $bk██$bl ██$e
+ $bk████████████████$e"
+sleep 0.1
+clear
+echo -e "
+ $bk██████████ ████$e
+ $bk████$wh ██████$bl ██$e
+ $bk██$wh ██$bl ██$e
+ $bk██$pi $wh ████$e
+ $bk████$pi ██ $wh ██$e
+ $bk████$pi ██ $wh ██$e
+ $bk████$pi ██ $wh ██$e
+ $bk██$pi $wh ██$e
+ $bk████$wh ████ ██$e
+ $bk██$bl ████$wh ██████████$e
+ $bk██$bl ██$wh ██$bl ██$wh ██$e
+ $bk████$wh ██$bl ██$wh ██$e
+ $bk████$wh ████████████████$e
+ $bk██$bl ██████ ████$bl ██$e
+ $bk████$wh $bl $wh ██████$e
+ $bk██$bl ██$wh ████ ██$e
+ $bk██$bl ████████$e$bk ██$wh ██$bl ██$e
+ $bk████ ████$bl ██$e
+ $bk██$bl ██$e
+ $bk████$e"
+sleep 0.3
+clear
+echo -e "
+ $bk██████████ $bk████$e
+ $bk████$wh ████$e$bk ██$bl ██$e
+ $bk██$wh ██████$bl $bk██$e
+ $bk██$pi $wh ██$e$bk ████$e
+ $bk██$pi ██ $wh ██$e
+ $bk██$pi ██ $wh ██$e
+ $bk██$pi ██ $wh ██$e
+ $bk██$pi $wh ██$e
+ $bk████$wh ██ ██$e
+ $bk████████$wh ████████$e
+ $bk██$bl ██$wh ██$bl ██$e
+ $bk██$bl ██$wh ██$bl ██$e
+ $bk██$wh ██$bl ██████$e
+ $bk██$bl ██$bl ██$bl ██$e
+ $bk████████████████$e
+ $bk██$wh ██$e
+ $bk██████████████$e
+ $bk██$bl ██$e
+ $bk████████████████$e"
+sleep 0.1
+clear
+echo -e "
+ $bk██████████ ████
+ $bk████$wh ████$e $bk██$bl ██$e
+ $bk██$wh ████$bl ██$e
+ $bk██$pi $wh ██████████$e
+ $bk██$pi ██ $wh ██$e
+ $bk██$pi ██ $wh ██$e
+ $bk██$pi ██ $wh ██$e
+ $bk██$pi $wh ██$e
+ $bk████████$wh ██████ ██$e
+ $bk██$bl ██████████$wh ████$e
+ $bk██$bl ████ ██$wh ██$e
+ $bk██$wh ██$bl ██$wh ████$e
+ $bk██$wh ██ ███████ ██$bl ██$e
+ $bk████$bl ██ ██$e
+ $bk████$bl ████$e
+ $bk██████$wh $bl ██████$wh ████$e
+ $bk██$bl ██$wh ██$e$bk ██$wh ██$bl ██$e
+ $bk██$bl ██$e$bk ████$bl ██$e
+ $bk████$e$bk ██$bl ██$e
+ $bk████"
+sleep 0.3
+done
diff --git a/colorscripts/crowns b/colorscripts/crowns
new file mode 100755
index 0000000..a26ae5f
--- /dev/null
+++ b/colorscripts/crowns
@@ -0,0 +1,19 @@
+#!/bin/bash
+
+# Author: venam
+
+cat << EOF
+
+             
+                                 
+             
+                                                         
+                                                 
+                                                 
+                                                        
+                    
+                    
+  
+  
+
+EOF
diff --git a/colorscripts/pinguco b/colorscripts/pinguco
new file mode 100755
index 0000000..c79872d
--- /dev/null
+++ b/colorscripts/pinguco
@@ -0,0 +1,40 @@
+#!/bin/sh
+# Author: lantlos
+
+initializeANSI()
+{
+ esc=""
+
+ blackf="${esc}[30m"; redf="${esc}[31m"; greenf="${esc}[32m"
+ yellowf="${esc}[33m" bluef="${esc}[34m"; purplef="${esc}[35m"
+ cyanf="${esc}[36m"; whitef="${esc}[37m"
+
+ blackb="${esc}[40m"; redb="${esc}[41m"; greenb="${esc}[42m"
+ yellowb="${esc}[43m" blueb="${esc}[44m"; purpleb="${esc}[45m"
+ cyanb="${esc}[46m"; whiteb="${esc}[47m"
+
+ boldon="${esc}[1m"; boldoff="${esc}[22m"
+ italicson="${esc}[3m"; italicsoff="${esc}[23m"
+ ulon="${esc}[4m"; uloff="${esc}[24m"
+ invon="${esc}[7m"; invoff="${esc}[27m"
+
+ reset="${esc}[0m"
+}
+
+initializeANSI
+
+cat << EOF
+
+ ${boldon}${blackf} ██████${reset}
+ ${boldon}${blackf}██${reset}██${reset}${bluef}██${reset}${boldon}${blackf}██${reset}${bluef}██${reset}
+ ${boldon}${blackf}██${reset}██${bluef}██${reset}${boldon}${blackf}██${reset}${bluef}██${reset}
+ ${boldon}${blackf}██████${reset}${purplef}██████${reset}
+ ${boldon}${blackf}████${reset}████${boldon}${blackf}██${reset}
+ ${boldon}${blackf}████${reset}████████${boldon}${blackf}██${reset}
+ ${boldon}${blackf}████${reset}████████${boldon}${blackf}██${reset}
+ ${boldon}${blackf}████${reset}████████${boldon}${blackf}██${reset}
+ ${boldon}${blackf}████${reset}████${boldon}${blackf}██${reset}
+ ${boldon}${blackf}███${reset}${purplef}███ ████${reset}
+
+
+EOF
diff --git a/colorscripts/pipes1 b/colorscripts/pipes1
new file mode 100755
index 0000000..70a751e
--- /dev/null
+++ b/colorscripts/pipes1
@@ -0,0 +1,185 @@
+#!/usr/bin/env bash
+# Animated pipes.sh terminal screensaver at an angle.
+# Copyright (C) 2013 by Yu-Jie Lin
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+#
+# Blog: http://blog.yjl.im/2013/07/pipesxsh-animated-pipessh-terminal.html
+# Gist: https://gist.github.com/livibetter/5974905
+# Screenshot: https://lh3.googleusercontent.com/-UaCta_DtgrQ/Ud6dqIgcfmI/AAAAAAAAE_8/VXPac0OpULU/s800/pipesX.sh.gif
+# Screenshot: https://lh6.googleusercontent.com/-yBety-A8J_c/Ud6dk10sjBI/AAAAAAAAE_0/S98aRRV8t0s/s800/pipesX.sh%25202013-07-11--19%253A51%253A05.png
+# Screencast: http://youtu.be/dITTlFPYVPA
+
+W=$(tput cols) H=$(tput lines)
+# maximal random value + 1
+M=32768
+
+SETS=('╱╲' '/\')
+COLORS=(31 32 33 34 35 36 37)
+
+# default values
+N=1
+T=0
+I=0.05
+P=25
+R=$((W * H / 4))
+
+HELP="Usage: $(basename $0) [OPTIONS]
+Animated pipes.sh terminal screensaver at an angle.
+Options:
+ -n [1-] number of pipes. (Default: $N)
+ -t [0-$((${#SETS[@]} - 1))] type of pipes. (Default: $T)
+ -i [float] piping interval or maze generation interval. (Default: $I)
+ -P [0-100] probability of a turning pipe or of \\ in maze generation. (Default: $P)
+ -r [LIMIT] reset after x characters, 0 if no limit. (Default: $R)
+ -R random starting point.
+ -C no color.
+ -X maze generation.
+ -h this help message.
+"
+
+while getopts "n:t:i:P:r:RCXh" arg; do
+ case $arg in
+ n)
+ ((N = OPTARG > 0 ? OPTARG : N))
+ ;;
+ t)
+ ((T = (OPTARG >= 0 && OPTARG < ${#SETS[@]}) ? OPTARG : T))
+ ;;
+ i)
+ I=$OPTARG
+ ;;
+ P)
+ ((P = (OPTARG >= 0 && OPTARG <= 100) ? OPTARG : P))
+ ;;
+ r)
+ ((R = OPTARG >= 0 ? OPTARG : R))
+ ;;
+ R)
+ RNDSTART=1
+ ;;
+ C)
+ NOCOLOR=1
+ ;;
+ X)
+ MAZE=1
+ ;;
+ h)
+ echo -e "$HELP"
+ exit 0
+ ;;
+ esac
+done
+
+do_exit() {
+ # Show cursor and echo stdin
+ echo -ne "\e[?25h"
+ stty echo
+ clear
+ exit 0
+ }
+trap do_exit INT TERM
+
+# No echo stdin and hide the cursor
+stty -echo
+echo -ne "\e[?25l"
+
+# maze geneartion
+while [[ $MAZE ]] && clear; do
+ [[ $NOCOLOR ]] || echo -ne "\e[1;${COLORS[${#COLORS[@]} * RANDOM / M]}m"
+ for ((i = 0; i < W * H; i++ )); do
+ echo -ne ${SETS[T]:100 * RANDOM / M < P:1}
+ done
+ read -t $I -n 1 && [[ $REPLY =~ q|Q ]] && do_exit
+done
+
+# initialze values
+for ((n = 0; n < N; n++)); do
+ ((X[n] = RNDSTART ? (W + 2) * RANDOM / M : W / 2))
+ ((Y[n] = RNDSTART ? (H + 2) * RANDOM / M : H / 2))
+ D[n]=$((4 * RANDOM / M))
+ C[n]=${COLORS[${#COLORS[@]} * RANDOM / M]}
+done
+
+clear
+while :; do
+ for ((n = 0; n < N; n++, CC = 0)); do
+ x=${X[n]} y=${Y[n]}
+ d=${D[n]} c=${C[n]}
+
+ # calculate new direction `d`
+ # 1 0
+ # \/ 4 directions 0 to 3
+ # /\
+ # 2 3
+ # valid directions: d: dd', d' is the new direction
+ # d
+ # 0: / 00 \ 01 03
+ # / / /\
+ # 1: / 10 \ 11 12
+ # \ \ /\
+ # 2: \/ 21 / 22 / 23
+ # / \
+ # 3: \/ 30 \ 32 \ 33
+ # / \
+ ((d = (100 * RANDOM / M) < P ? ((d + 1) + 2 * (RANDOM % 2)) % 4 : d))
+ ((e = (d + 1) % 4))
+
+ # calculate new position
+ # d' x' y'
+ # 0: x+1 y-1
+ # 1: x-1 y-1
+ # 2: x-1 y+1
+ # 3: x+1 y+1
+ ((xn = e < 2 ? x + 1 : x - 1))
+ ((yn = d < 2 ? y - 1 : y + 1))
+
+ # adjust position and change color?
+ ((d < 2 && y == 0)) && ((yn--, CC=1))
+ ((e > 1 && x == 0)) && ((xn--, CC=1))
+ ((d > 1 && y == H)) && ((yn++, CC=1))
+ ((e < 2 && x == W)) && ((xn++, CC=1))
+ ((CC)) && c=${COLORS[${#COLORS[@]} * RANDOM / M]}
+
+ # warp pipe
+ ((xn = (xn + W + 1) % (W + 1)))
+ ((yn = (yn + H + 1) % (H + 1)))
+
+ # calculate position in terminal
+ # d' xt yt
+ # 0: x' y'+1
+ # 1: x'+1 y'+1
+ # 2: x'+1 y'
+ # 3: x' y'
+ ((xt = e < 2 ? xn : xn + 1))
+ ((yt = d < 2 ? yn + 1 : yn))
+
+ echo -ne "\e[${yt};${xt}H"
+ [[ $NOCOLOR ]] || echo -ne "\e[1;${c}m"
+ echo -n "${SETS[T]:d%2:1}"
+
+ X[n]=$xn Y[n]=$yn
+ D[n]=$d C[n]=$c
+ done
+ read -t $I -n 1 && [[ $REPLY =~ q|Q ]] && do_exit
+ ((R)) && ((r += N, r >= R)) && r=0 && clear
+done
+
+do_exit
+
diff --git a/colorscripts/pipes2 b/colorscripts/pipes2
new file mode 100755
index 0000000..c658f37
--- /dev/null
+++ b/colorscripts/pipes2
@@ -0,0 +1,52 @@
+#!/usr/bin/env bash
+
+declare -i f=75 s=13 r=2000 t=0 c=1 n=0 l=0
+declare -ir w=$(tput cols) h=$(tput lines)
+declare -i x=$((w/2)) y=$((h/2))
+declare -ar v=( [00]="\x83" [01]="\x8f" [03]="\x93"
+ [10]="\x9b" [11]="\x81" [12]="\x93"
+ [21]="\x97" [22]="\x83" [23]="\x9b"
+ [30]="\x97" [32]="\x8f" [33]="\x81" )
+
+OPTIND=1
+while getopts "f:s:r:h" arg; do
+case $arg in
+ f) ((f=($OPTARG>19 && $OPTARG<101)?$OPTARG:$f));;
+ s) ((s=($OPTARG>4 && $OPTARG<16 )?$OPTARG:$s));;
+ r) ((r=($OPTARG>0)?$OPTARG:$r));;
+ h) echo -e "Usage: pipes [OPTION]..."
+ echo -e "Animated pipes terminal screensaver.\n"
+ echo -e " -f [20-100]\tframerate (D=75)."
+ echo -e " -s [5-15]\tprobability of a straight fitting (D=13)."
+ echo -e " -r LIMIT\treset after x characters (D=2000)."
+ echo -e " -h\t\thelp (this screen).\n"
+ exit 0;;
+ esac
+done
+
+tput smcup
+tput reset
+tput civis
+while ! read -t0.0$((1000/$f)) -n1; do
+ # New position:
+ (($l%2)) && ((x+=($l==1)?1:-1))
+ ((!($l%2))) && ((y+=($l==2)?1:-1))
+
+ # Loop on edges (change color on loop):
+ ((c=($x>$w || $x<0 || $y>$h || $y<0)?($RANDOM%7-1):$c))
+ ((x=($x>$w)?0:(($x<0)?$w:$x)))
+ ((y=($y>$h)?0:(($y<0)?$h:$y)))
+
+ # New random direction:
+ ((n=$RANDOM%$s-1))
+ ((n=($n>1||$n==0)?$l:$l+$n))
+ ((n=($n<0)?3:$n%4))
+
+ # Print:
+ tput cup $y $x
+ echo -ne "\033[1;3${c}m\xe2\x94${v[$l$n]}"
+ (($t>$r)) && tput reset && tput civis && t=0 || ((t++))
+ l=$n
+done
+tput rmcup
+
diff --git a/colorscripts/pipes2-slim b/colorscripts/pipes2-slim
new file mode 100755
index 0000000..7b26506
--- /dev/null
+++ b/colorscripts/pipes2-slim
@@ -0,0 +1,60 @@
+#!/usr/bin/env bash
+
+declare -i f=75 s=13 r=2000 t=0 c=1 n=0 l=0
+declare -ir w=$(tput cols) h=$(tput lines)
+declare -i x=$((w/2)) y=$((h/2))
+
+declare -ar v=( [00]="\x82" [01]="\x8c" [03]="\x90" ####
+ [10]="\x98" [11]="\x80" [12]="\x90" # Normal UTF-8 box characters.
+ [21]="\x94" [22]="\x82" [23]="\x98" # (These are the default for they are supported almost everywhere.)
+ [30]="\x94" [32]="\x8c" [33]="\x80" ) ####
+
+# declare -ar v=( [00]="\x83" [01]="\x8f" [03]="\x93" ####
+# [10]="\x9b" [11]="\x81" [12]="\x93" # Heavy UTF-8 box characters.
+# [21]="\x97" [22]="\x83" [23]="\x9b" # (Uncomment only if your terminal supports it)
+# [30]="\x97" [32]="\x8f" [33]="\x81" ) ####
+
+OPTIND=1
+while getopts "f:s:r:h" arg; do
+ case $arg in
+ f) ((f=($OPTARG>19 && $OPTARG<101)?$OPTARG:$f));;
+ s) ((s=($OPTARG>4 && $OPTARG<16 )?$OPTARG:$s));;
+ r) ((r=($OPTARG>0)?$OPTARG:$r));;
+ h) echo -e "Usage: pipes [OPTION]..."
+ echo -e "Animated pipes terminal screensaver.\n"
+ echo -e " -f [20-100]\tframerate (D=75)."
+ echo -e " -s [5-15]\tprobability of a straight fitting (D=13)."
+ echo -e " -r LIMIT\treset after x characters (D=2000)."
+ echo -e " -h\t\thelp (this screen).\n"
+ exit 0;;
+ esac
+ done
+
+tput smcup
+tput reset
+tput civis
+
+trap "tput rmcup; tput reset; exit" SIGINT
+
+while true; do
+ # New position:
+ (($l%2)) && ((x+=($l==1)?1:-1))
+ ((!($l%2))) && ((y+=($l==2)?1:-1))
+
+ # Loop on edges (change color on loop):
+ ((c=($x>$w || $x<0 || $y>$h || $y<0)?($RANDOM%7):$c))
+ ((x=($x>$w)?0:(($x<0)?$w:$x)))
+ ((y=($y>$h)?0:(($y<0)?$h:$y)))
+
+ # New random direction:
+ ((n=$RANDOM%$s-1))
+ ((n=($n>1||$n==0)?$l:$l+$n))
+ ((n=($n<0)?3:$n%4))
+
+ # Print:
+ tput cup $y $x
+ printf "\033[1;3${c}m\xe2\x94${v[$l$n]}"
+ (($t>$r)) && tput reset && tput civis && t=0 || ((t++))
+ l=$n
+ sleep $(echo "scale=5;1/$f"|bc)
+done