Commit 6c05124f1bb267dabaf799bd8ee42b6c3dcb520b

Authored by Ian Foster
1 parent e7e369c08e
Exists in master

added new scripts for testing colors

Showing 2 changed files with 172 additions and 0 deletions Side-by-side Diff

scripts/256color.pl View file @ 6c05124
  1 +#!/usr/bin/perl
  2 +# Author: Todd Larason <jtl@molehill.org>
  3 +# $XFree86: xc/programs/xterm/vttests/256colors2.pl,v 1.2 2002/03/26 01:46:43 dickey Exp $
  4 +
  5 +# use the resources for colors 0-15 - usually more-or-less a
  6 +# reproduction of the standard ANSI colors, but possibly more
  7 +# pleasing shades
  8 +
  9 +# colors 16-231 are a 6x6x6 color cube
  10 +for ($red = 0; $red < 6; $red++) {
  11 + for ($green = 0; $green < 6; $green++) {
  12 + for ($blue = 0; $blue < 6; $blue++) {
  13 + printf("\x1b]4;%d;rgb:%2.2x/%2.2x/%2.2x\x1b\\",
  14 + 16 + ($red * 36) + ($green * 6) + $blue,
  15 + ($red ? ($red * 40 + 55) : 0),
  16 + ($green ? ($green * 40 + 55) : 0),
  17 + ($blue ? ($blue * 40 + 55) : 0));
  18 + }
  19 + }
  20 +}
  21 +
  22 +# colors 232-255 are a grayscale ramp, intentionally leaving out
  23 +# black and white
  24 +for ($gray = 0; $gray < 24; $gray++) {
  25 + $level = ($gray * 10) + 8;
  26 + printf("\x1b]4;%d;rgb:%2.2x/%2.2x/%2.2x\x1b\\",
  27 + 232 + $gray, $level, $level, $level);
  28 +}
  29 +
  30 +
  31 +# display the colors
  32 +
  33 +# first the system ones:
  34 +print "System colors:\n";
  35 +for ($color = 0; $color < 8; $color++) {
  36 + print "\x1b[48;5;${color}m ";
  37 +}
  38 +print "\x1b[0m\n";
  39 +for ($color = 8; $color < 16; $color++) {
  40 + print "\x1b[48;5;${color}m ";
  41 +}
  42 +print "\x1b[0m\n\n";
  43 +
  44 +# now the color cube
  45 +print "Color cube, 6x6x6:\n";
  46 +for ($green = 0; $green < 6; $green++) {
  47 + for ($red = 0; $red < 6; $red++) {
  48 + for ($blue = 0; $blue < 6; $blue++) {
  49 + $color = 16 + ($red * 36) + ($green * 6) + $blue;
  50 + print "\x1b[48;5;${color}m ";
  51 + }
  52 + print "\x1b[0m ";
  53 + }
  54 + print "\n";
  55 +}
  56 +
  57 +
  58 +# now the grayscale ramp
  59 +print "Grayscale ramp:\n";
  60 +for ($color = 232; $color < 256; $color++) {
  61 + print "\x1b[48;5;${color}m ";
  62 +}
  63 +print "\x1b[0m\n";
scripts/pipes.sh View file @ 6c05124
  1 +#!/bin/bash
  2 +# The author of the original script is unknown to me. The first entry I can
  3 +# find was posted at 2010-03-21 09:50:09 on Arch Linux Forums (doesn't mean the
  4 +# poster is the author at all):
  5 +#
  6 +# https://bbs.archlinux.org/viewtopic.php?pid=728932#p728932
  7 +#
  8 +# I, Yu-Jie Lin, made a few changes and additions:
  9 +#
  10 +# -p, -t, -R, and -C
  11 +#
  12 +# Screenshot: http://flic.kr/p/dRnLVj
  13 +# Screencast: http://youtu.be/5XnGSFg_gTk
  14 +#
  15 +# And push the commits to Gist:
  16 +#
  17 +# https://gist.github.com/4689307
  18 +#
  19 +# I, Devin Samarin, made a few changes and additions:
  20 +#
  21 +# -r can be 0 to mean "no limit".
  22 +# Reset cursor visibility after done.
  23 +# Cleanup for those people who want to quit with ^C
  24 +#
  25 +# Pushed the changes to https://gist.github.com/4725048
  26 +
  27 +p=1
  28 +f=75 s=13 r=2000 t=0
  29 +w=$(tput cols) h=$(tput lines)
  30 +# ab -> idx = a*4 + b
  31 +# 0: up, 1: right, 2: down, 3: left
  32 +# 00 means going up , then going up -> โ”ƒ
  33 +# 12 means going right, then going down -> โ”“
  34 +sets=(
  35 + "โ”ƒโ” โ”“โ”›โ”โ”“ โ”—โ”ƒโ”›โ”— โ”โ”"
  36 + "โ”‚โ•ญ โ•ฎโ•ฏโ”€โ•ฎ โ•ฐโ”‚โ•ฏโ•ฐ โ•ญโ”€"
  37 + "โ”‚โ”Œ โ”โ”˜โ”€โ” โ””โ”‚โ”˜โ”” โ”Œโ”€"
  38 + "โ•‘โ•” โ•—โ•โ•โ•— โ•šโ•‘โ•โ•š โ•”โ•"
  39 +)
  40 +v="${sets[0]}"
  41 +RNDSTART=0
  42 +NOCOLOR=0
  43 +
  44 +OPTIND=1
  45 +while getopts "p:t:f:s:r:RCh" arg; do
  46 +case $arg in
  47 + p) ((p=(OPTARG>0)?OPTARG:p));;
  48 + t) ((OPTARG>=0 && OPTARG<${#sets[@]})) && v="${sets[OPTARG]}";;
  49 + f) ((f=(OPTARG>19 && OPTARG<101)?OPTARG:f));;
  50 + s) ((s=(OPTARG>4 && OPTARG<16 )?OPTARG:s));;
  51 + r) ((r=(OPTARG>=0)?OPTARG:r));;
  52 + R) RNDSTART=1;;
  53 + C) NOCOLOR=1;;
  54 + h) echo -e "Usage: $(basename $0) [OPTION]..."
  55 + echo -e "Animated pipes terminal screensaver.\n"
  56 + echo -e " -p [1-]\tnumber of pipes (D=1)."
  57 + echo -e " -t [0-$((${#sets[@]} - 1))]\ttype of pipes (D=0)."
  58 + echo -e " -f [20-100]\tframerate (D=75)."
  59 + echo -e " -s [5-15]\tprobability of a straight fitting (D=13)."
  60 + echo -e " -r LIMIT\treset after x characters, 0 if no limit (D=2000)."
  61 + echo -e " -R \t\trandom starting point."
  62 + echo -e " -C \t\tno color."
  63 + echo -e " -h\t\thelp (this screen).\n"
  64 + exit 0;;
  65 + esac
  66 +done
  67 +
  68 +cleanup() {
  69 + tput rmcup
  70 + tput cnorm
  71 + exit 0
  72 +}
  73 +trap cleanup SIGHUP SIGINT SIGTERM
  74 +
  75 +for (( i=1; i<=p; i++ )); do
  76 + c[i]=$((i%8)) n[i]=0 l[i]=0
  77 + ((x[i]=RNDSTART==1?RANDOM*w/32768:w/2))
  78 + ((y[i]=RNDSTART==1?RANDOM*h/32768:h/2))
  79 +done
  80 +
  81 +tput smcup
  82 +tput reset
  83 +tput civis
  84 +while ! read -t0.0$((1000/f)) -n1; do
  85 + for (( i=1; i<=p; i++ )); do
  86 + # New position:
  87 + ((${l[i]}%2)) && ((x[i]+=-${l[i]}+2,1)) || ((y[i]+=${l[i]}-1))
  88 +
  89 + # Loop on edges (change color on loop):
  90 + ((${x[i]}>w||${x[i]}<0||${y[i]}>h||${y[i]}<0)) && ((c[i]=RANDOM%8))
  91 + ((x[i]=(x[i]+w)%w))
  92 + ((y[i]=(y[i]+h)%h))
  93 +
  94 + # New random direction:
  95 + ((n[i]=RANDOM%s-1))
  96 + ((n[i]=(${n[i]}>1||${n[i]}==0)?${l[i]}:${l[i]}+${n[i]}))
  97 + ((n[i]=(${n[i]}<0)?3:${n[i]}%4))
  98 +
  99 + # Print:
  100 + tput cup ${y[i]} ${x[i]}
  101 + [[ $NOCOLOR == 0 ]] && echo -ne "\033[1;3${c[i]}m"
  102 + echo -n "${v:l[i]*4+n[i]:1}"
  103 + l[i]=${n[i]}
  104 + done
  105 + ((r>0 && t*p>=r)) && tput reset && tput civis && t=0 || ((t++))
  106 +done
  107 +
  108 +cleanup