~ajkavanagh/+junk/useful-things

« back to all changes in this revision

Viewing changes to scripts/256colors2.pl

  • Committer: Alex Kavanagh
  • Date: 2017-09-22 18:17:32 UTC
  • Revision ID: alex.kavanagh@canonical.com-20170922181732-13snyy8l8d02ewy2
Moved the scripts to vcsh-scripts for consistency

Show diffs side-by-side

added added

removed removed

Lines of Context:
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
 
# download from http://www.frexx.de/xterm-256-notes/data/256colors2.pl
6
 
 
7
 
# use the resources for colors 0-15 - usually more-or-less a
8
 
# reproduction of the standard ANSI colors, but possibly more
9
 
# pleasing shades
10
 
 
11
 
# colors 16-231 are a 6x6x6 color cube
12
 
for ($red = 0; $red < 6; $red++) {
13
 
    for ($green = 0; $green < 6; $green++) {
14
 
        for ($blue = 0; $blue < 6; $blue++) {
15
 
            printf("\x1b]4;%d;rgb:%2.2x/%2.2x/%2.2x\x1b\\",
16
 
                   16 + ($red * 36) + ($green * 6) + $blue,
17
 
                   ($red ? ($red * 40 + 55) : 0),
18
 
                   ($green ? ($green * 40 + 55) : 0),
19
 
                   ($blue ? ($blue * 40 + 55) : 0));
20
 
        }
21
 
    }
22
 
}
23
 
 
24
 
# colors 232-255 are a grayscale ramp, intentionally leaving out
25
 
# black and white
26
 
for ($gray = 0; $gray < 24; $gray++) {
27
 
    $level = ($gray * 10) + 8;
28
 
    printf("\x1b]4;%d;rgb:%2.2x/%2.2x/%2.2x\x1b\\",
29
 
           232 + $gray, $level, $level, $level);
30
 
}
31
 
 
32
 
 
33
 
# display the colors
34
 
 
35
 
# first the system ones:
36
 
print "System colors:\n";
37
 
for ($color = 0; $color < 8; $color++) {
38
 
    print "\x1b[48;5;${color}m  ";
39
 
}
40
 
print "\x1b[0m\n";
41
 
for ($color = 8; $color < 16; $color++) {
42
 
    print "\x1b[48;5;${color}m  ";
43
 
}
44
 
print "\x1b[0m\n\n";
45
 
 
46
 
# now the color cube
47
 
print "Color cube, 6x6x6:\n";
48
 
for ($green = 0; $green < 6; $green++) {
49
 
    for ($red = 0; $red < 6; $red++) {
50
 
        for ($blue = 0; $blue < 6; $blue++) {
51
 
            $color = 16 + ($red * 36) + ($green * 6) + $blue;
52
 
            print "\x1b[48;5;${color}m  ";
53
 
        }
54
 
        print "\x1b[0m ";
55
 
    }
56
 
    print "\n";
57
 
}
58
 
 
59
 
 
60
 
# now the grayscale ramp
61
 
print "Grayscale ramp:\n";
62
 
for ($color = 232; $color < 256; $color++) {
63
 
    print "\x1b[48;5;${color}m  ";
64
 
}
65
 
print "\x1b[0m\n";