bin/colortest @ 746ca2de7503

More
author Steve Losh <steve@stevelosh.com>
date Tue, 20 Sep 2022 12:53:14 -0400
parents 30edc2f560bf
children (none)
#!/usr/bin/perl

# by entheon, do whatever the hell you want with this file

print "\n";
print "**************************\n";
print "*XTERM 256Color Test Chart\n";
print "**************************\n";
print "* 16  = black\n";
print "* 255 = white\n";
print "*\n";
print "* Usage:\n";
print "* colortest -w\n";
print "*    wide display\n";
print "*\n";
print "* colortest -w -r\n";
print "*    wide display reversed\n";
print "*\n";
print "* colortest -w -s\n";
print "*    extra spaces padding\n";
print "*\n";
print "* colortest -w -r -s\n";
print "*    available combination\n";
print "*\n";
print "**************************\n";

push(@arr, [(  " 16:  00/00/00",     " 17:  00/00/5f",     " 18:  00/00/87",     " 19:  00/00/af",     " 20:  00/00/d7",     " 21:  00/00/ff")] );  
push(@arr, [(  " 22:  00/5f/00",     " 23:  00/5f/5f",     " 24:  00/5f/87",     " 25:  00/5f/af",     " 26:  00/5f/d7",     " 27:  00/5f/ff")] );  
push(@arr, [(  " 28:  00/87/00",     " 29:  00/87/5f",     " 30:  00/87/87",     " 31:  00/87/af",     " 32:  00/87/d7",     " 33:  00/87/ff")] );  
push(@arr, [(  " 34:  00/af/00",     " 35:  00/af/5f",     " 36:  00/af/87",     " 37:  00/af/af",     " 38:  00/af/d7",     " 39:  00/af/ff")] );  
push(@arr, [(  " 40:  00/d7/00",     " 41:  00/d7/5f",     " 42:  00/d7/87",     " 43:  00/d7/af",     " 44:  00/d7/d7",     " 45:  00/d7/ff")] );  
push(@arr, [(  " 46:  00/ff/00",     " 47:  00/ff/5f",     " 48:  00/ff/87",     " 49:  00/ff/af",     " 50:  00/ff/d7",     " 51:  00/ff/ff")] );  
push(@arr, [(  " 52:  5f/00/00",     " 53:  5f/00/5f",     " 54:  5f/00/87",     " 55:  5f/00/af",     " 56:  5f/00/d7",     " 57:  5f/00/ff")] );  
push(@arr, [(  " 58:  5f/5f/00",     " 59:  5f/5f/5f",     " 60:  5f/5f/87",     " 61:  5f/5f/af",     " 62:  5f/5f/d7",     " 63:  5f/5f/ff")] );  
push(@arr, [(  " 64:  5f/87/00",     " 65:  5f/87/5f",     " 66:  5f/87/87",     " 67:  5f/87/af",     " 68:  5f/87/d7",     " 69:  5f/87/ff")] );  
push(@arr, [(  " 70:  5f/af/00",     " 71:  5f/af/5f",     " 72:  5f/af/87",     " 73:  5f/af/af",     " 74:  5f/af/d7",     " 75:  5f/af/ff")] );  
push(@arr, [(  " 76:  5f/d7/00",     " 77:  5f/d7/5f",     " 78:  5f/d7/87",     " 79:  5f/d7/af",     " 80:  5f/d7/d7",     " 81:  5f/d7/ff")] );  
push(@arr, [(  " 82:  5f/ff/00",     " 83:  5f/ff/5f",     " 84:  5f/ff/87",     " 85:  5f/ff/af",     " 86:  5f/ff/d7",     " 87:  5f/ff/ff")] );  
push(@arr, [(  " 88:  87/00/00",     " 89:  87/00/5f",     " 90:  87/00/87",     " 91:  87/00/af",     " 92:  87/00/d7",     " 93:  87/00/ff")] );  
push(@arr, [(  " 94:  87/5f/00",     " 95:  87/5f/5f",     " 96:  87/5f/87",     " 97:  87/5f/af",     " 98:  87/5f/d7",     " 99:  87/5f/ff")] );  
push(@arr, [( " 100: 87/87/00",    " 101: 87/87/5f",    " 102: 87/87/87",    " 103: 87/87/af",    " 104: 87/87/d7",    " 105: 87/87/ff")] );
push(@arr, [( " 106: 87/af/00",    " 107: 87/af/5f",    " 108: 87/af/87",    " 109: 87/af/af",    " 110: 87/af/d7",    " 111: 87/af/ff")] );
push(@arr, [( " 112: 87/d7/00",    " 113: 87/d7/5f",    " 114: 87/d7/87",    " 115: 87/d7/af",    " 116: 87/d7/d7",    " 117: 87/d7/ff")] );
push(@arr, [( " 118: 87/ff/00",    " 119: 87/ff/5f",    " 120: 87/ff/87",    " 121: 87/ff/af",    " 122: 87/ff/d7",    " 123: 87/ff/ff")] );
push(@arr, [( " 124: af/00/00",    " 125: af/00/5f",    " 126: af/00/87",    " 127: af/00/af",    " 128: af/00/d7",    " 129: af/00/ff")] );
push(@arr, [( " 130: af/5f/00",    " 131: af/5f/5f",    " 132: af/5f/87",    " 133: af/5f/af",    " 134: af/5f/d7",    " 135: af/5f/ff")] );
push(@arr, [( " 136: af/87/00",    " 137: af/87/5f",    " 138: af/87/87",    " 139: af/87/af",    " 140: af/87/d7",    " 141: af/87/ff")] );
push(@arr, [( " 142: af/af/00",    " 143: af/af/5f",    " 144: af/af/87",    " 145: af/af/af",    " 146: af/af/d7",    " 147: af/af/ff")] );
push(@arr, [( " 148: af/d7/00",    " 149: af/d7/5f",    " 150: af/d7/87",    " 151: af/d7/af",    " 152: af/d7/d7",    " 153: af/d7/ff")] );
push(@arr, [( " 154: af/ff/00",    " 155: af/ff/5f",    " 156: af/ff/87",    " 157: af/ff/af",    " 158: af/ff/d7",    " 159: af/ff/ff")] );
push(@arr, [( " 160: d7/00/00",    " 161: d7/00/5f",    " 162: d7/00/87",    " 163: d7/00/af",    " 164: d7/00/d7",    " 165: d7/00/ff")] );
push(@arr, [( " 166: d7/5f/00",    " 167: d7/5f/5f",    " 168: d7/5f/87",    " 169: d7/5f/af",    " 170: d7/5f/d7",    " 171: d7/5f/ff")] );
push(@arr, [( " 172: d7/87/00",    " 173: d7/87/5f",    " 174: d7/87/87",    " 175: d7/87/af",    " 176: d7/87/d7",    " 177: d7/87/ff")] );
push(@arr, [( " 178: d7/af/00",    " 179: d7/af/5f",    " 180: d7/af/87",    " 181: d7/af/af",    " 182: d7/af/d7",    " 183: d7/af/ff")] );
push(@arr, [( " 184: d7/d7/00",    " 185: d7/d7/5f",    " 186: d7/d7/87",    " 187: d7/d7/af",    " 188: d7/d7/d7",    " 189: d7/d7/ff")] );
push(@arr, [( " 190: d7/ff/00",    " 191: d7/ff/5f",    " 192: d7/ff/87",    " 193: d7/ff/af",    " 194: d7/ff/d7",    " 195: d7/ff/ff")] );
push(@arr, [( " 196: ff/00/00",    " 197: ff/00/5f",    " 198: ff/00/87",    " 199: ff/00/af",    " 200: ff/00/d7",    " 201: ff/00/ff")] );
push(@arr, [( " 202: ff/5f/00",    " 203: ff/5f/5f",    " 204: ff/5f/87",    " 205: ff/5f/af",    " 206: ff/5f/d7",    " 207: ff/5f/ff")] );
push(@arr, [( " 208: ff/87/00",    " 209: ff/87/5f",    " 210: ff/87/87",    " 211: ff/87/af",    " 212: ff/87/d7",    " 213: ff/87/ff")] );
push(@arr, [( " 214: ff/af/00",    " 215: ff/af/5f",    " 216: ff/af/87",    " 217: ff/af/af",    " 218: ff/af/d7",    " 219: ff/af/ff")] );
push(@arr, [( " 220: ff/d7/00",    " 221: ff/d7/5f",    " 222: ff/d7/87",    " 223: ff/d7/af",    " 224: ff/d7/d7",    " 225: ff/d7/ff")] );
push(@arr, [( " 226: ff/ff/00",    " 227: ff/ff/5f",    " 228: ff/ff/87",    " 229: ff/ff/af",    " 230: ff/ff/d7",    " 231: ff/ff/ff")] );
push(@arr, [( " 232: 08/08/08",    " 233: 12/12/12",    " 234: 1c/1c/1c",    " 235: 26/26/26",    " 236: 30/30/30",    " 237: 3a/3a/3a")] );
push(@arr, [( " 238: 44/44/44",    " 239: 4e/4e/4e",    " 240: 58/58/58",    " 241: 62/62/62",    " 242: 6c/6c/6c",    " 243: 76/76/76")] );
push(@arr, [( " 244: 80/80/80",    " 245: 8a/8a/8a",    " 246: 94/94/94",    " 247: 9e/9e/9e",    " 248: a8/a8/a8",    " 249: b2/b2/b2")] );
push(@arr, [( " 250: bc/bc/bc",    " 251: c6/c6/c6",    " 252: d0/d0/d0",    " 253: da/da/da",    " 254: e4/e4/e4",    " 255: ee/ee/ee")] );

if( $ARGV[0] eq "-s" || $ARGV[1] eq "-s" || $ARGV[2] eq "-s" ){
    $padding = "    ";
}
else {
    
}

# display in reverse order
if( $ARGV[0] eq "-r" || $ARGV[1] eq "-r" || $ARGV[2] eq "-r" ){
    for( $dimone = 0; $dimone < scalar @arr; $dimone++ ) {

        $seed = ($dimone % 6) * -1;
        for( $dimtwo = 0; $dimtwo < 6; $dimtwo++ ) {

            $movone = $seed;
            $movtwo = $seed * -1;

            print $arr[$dimone][$dimtwo] . $padding;

            $seed = $seed+1;
        }

        print "\n";
    }
}
else {
    for( $dimone = 0; $dimone < scalar @arr; $dimone++ ) {

        $seed = ($dimone % 6) * -1;
        for( $dimtwo = 0; $dimtwo < 6; $dimtwo++ ) {

            $movone = $seed;
            $movtwo = $seed * -1;

            $newone = $dimone+$movone;
            $newtwo = $dimtwo+$movtwo;

            if( $newone < scalar @arr ){
                print $arr[$newone][$newtwo] . $padding;
            }

            $seed = $seed+1;
        }

        print "\n";
    }
}
print "\n";
print "\n";

print "0m";
exit;