program testit use M_framework__msg use M_attr call truecolor() contains subroutine truecolor() type color character(len=40) :: name integer :: r,g,b end type color type(color),parameter :: rgb(*)=[ & color("snow",255,250,250), & color("ghostwhite",248,248,255), & color("whitesmoke",245,245,245), & color("gainsboro",220,220,220), & color("floralwhite",255,250,240), & color("oldlace",253,245,230), & color("linen",250,240,230), & color("antiquewhite",250,235,215), & color("papayawhip",255,239,213), & color("blanchedalmond",255,235,205), & color("bisque",255,228,196), & color("peachpuff",255,218,185), & color("navajowhite",255,222,173), & color("moccasin",255,228,181), & color("cornsilk",255,248,220), & color("ivory",255,255,240), & color("lemonchiffon",255,250,205), & color("seashell",255,245,238), & color("honeydew",240,255,240), & color("mintcream",245,255,250), & color("azure",240,255,255), & color("aliceblue",240,248,255), & color("lavender",230,230,250), & color("lavenderblush",255,240,245), & color("mistyrose",255,228,225), & color("white",255,255,255), & color("black",0,0,0), & color("darkslategray",47,79,79), & color("dimgray",105,105,105), & color("slategray",112,128,144), & color("lightslategray",119,136,153), & color("gray",190,190,190), & color("lightgray",211,211,211), & color("midnightblue",25,25,112), & color("navy",0,0,128), & color("navyblue",0,0,128), & color("cornflowerblue",100,149,237), & color("darkslateblue",72,61,139), & color("slateblue",106,90,205), & color("mediumslateblue",123,104,238), & color("lightslateblue",132,112,255), & color("mediumblue",0,0,205), & color("royalblue",65,105,225), & color("blue",0,0,255), & color("dodgerblue",30,144,255), & color("deepskyblue",0,191,255), & color("skyblue",135,206,235), & color("lightskyblue",135,206,250), & color("steelblue",70,130,180), & color("lightsteelblue",176,196,222), & color("lightblue",173,216,230), & color("powderblue",176,224,230), & color("paleturquoise",175,238,238), & color("darkturquoise",0,206,209), & color("mediumturquoise",72,209,204), & color("turquoise",64,224,208), & color("cyan",0,255,255), & color("lightcyan",224,255,255), & color("cadetblue",95,158,160), & color("mediumaquamarine",102,205,170), & color("aquamarine",127,255,212), & color("darkgreen",0,100,0), & color("darkolivegreen",85,107,47), & color("darkseagreen",143,188,143), & color("seagreen",46,139,87), & color("mediumseagreen",60,179,113), & color("lightseagreen",32,178,170), & color("palegreen",152,251,152), & color("springgreen",0,255,127), & color("lawngreen",124,252,0), & color("green",0,255,0), & color("chartreuse",127,255,0), & color("mediumspringgreen",0,250,154), & color("greenyellow",173,255,47), & color("limegreen",50,205,50), & color("yellowgreen",154,205,50), & color("forestgreen",34,139,34), & color("olivedrab",107,142,35), & color("darkkhaki",189,183,107), & color("khaki",240,230,140), & color("palegoldenrod",238,232,170), & color("lightgoldenrodyellow",250,250,210), & color("lightyellow",255,255,224), & color("yellow",255,255,0), & color("gold",255,215,0), & color("lightgoldenrod",238,221,130), & color("goldenrod",218,165,32), & color("darkgoldenrod",184,134,11), & color("rosybrown",188,143,143), & color("indianred",205,92,92), & color("saddlebrown",139,69,19), & color("sienna",160,82,45), & color("peru",205,133,63), & color("burlywood",222,184,135), & color("beige",245,245,220), & color("wheat",245,222,179), & color("sandybrown",244,164,96), & color("tan",210,180,140), & color("chocolate",210,105,30), & color("firebrick",178,34,34), & color("brown",165,42,42), & color("darksalmon",233,150,122), & color("salmon",250,128,114), & color("lightsalmon",255,160,122), & color("orange",255,165,0), & color("darkorange",255,140,0), & color("coral",255,127,80), & color("lightcoral",240,128,128), & color("tomato",255,99,71), & color("orangered",255,69,0), & color("red",255,0,0), & color("hotpink",255,105,180), & color("deeppink",255,20,147), & color("pink",255,192,203), & color("lightpink",255,182,193), & color("palevioletred",219,112,147), & color("maroon",176,48,96), & color("mediumvioletred",199,21,133), & color("violetred",208,32,144), & color("magenta",255,0,255), & color("violet",238,130,238), & color("plum",221,160,221), & color("orchid",218,112,214), & color("mediumorchid",186,85,211), & color("darkorchid",153,50,204), & color("darkviolet",148,0,211), & color("blueviolet",138,43,226), & color("purple",160,32,240), & color("mediumpurple",147,112,219), & color("thistle",216,191,216), & color("snow1",255,250,250), & color("snow2",238,233,233), & color("snow3",205,201,201), & color("snow4",139,137,137), & color("seashell1",255,245,238), & color("seashell2",238,229,222), & color("seashell3",205,197,191), & color("seashell4",139,134,130), & color("antiquewhite1",255,239,219), & color("antiquewhite2",238,223,204), & color("antiquewhite3",205,192,176), & color("antiquewhite4",139,131,120), & color("bisque1",255,228,196), & color("bisque2",238,213,183), & color("bisque3",205,183,158), & color("bisque4",139,125,107), & color("peachpuff1",255,218,185), & color("peachpuff2",238,203,173), & color("peachpuff3",205,175,149), & color("peachpuff4",139,119,101), & color("navajowhite1",255,222,173), & color("navajowhite2",238,207,161), & color("navajowhite3",205,179,139), & color("navajowhite4",139,121,94), & color("lemonchiffon1",255,250,205), & color("lemonchiffon2",238,233,191), & color("lemonchiffon3",205,201,165), & color("lemonchiffon4",139,137,112), & color("cornsilk1",255,248,220), & color("cornsilk2",238,232,205), & color("cornsilk3",205,200,177), & color("cornsilk4",139,136,120), & color("ivory1",255,255,240), & color("ivory2",238,238,224), & color("ivory3",205,205,193), & color("ivory4",139,139,131), & color("honeydew1",240,255,240), & color("honeydew2",224,238,224), & color("honeydew3",193,205,193), & color("honeydew4",131,139,131), & color("lavenderblush1",255,240,245), & color("lavenderblush2",238,224,229), & color("lavenderblush3",205,193,197), & color("lavenderblush4",139,131,134), & color("mistyrose1",255,228,225), & color("mistyrose2",238,213,210), & color("mistyrose3",205,183,181), & color("mistyrose4",139,125,123), & color("azure1",240,255,255), & color("azure2",224,238,238), & color("azure3",193,205,205), & color("azure4",131,139,139), & color("slateblue1",131,111,255), & color("slateblue2",122,103,238), & color("slateblue3",105,89,205), & color("slateblue4",71,60,139), & color("royalblue1",72,118,255), & color("royalblue2",67,110,238), & color("royalblue3",58,95,205), & color("royalblue4",39,64,139), & color("blue1",0,0,255), & color("blue2",0,0,238), & color("blue3",0,0,205), & color("blue4",0,0,139), & color("dodgerblue1",30,144,255), & color("dodgerblue2",28,134,238), & color("dodgerblue3",24,116,205), & color("dodgerblue4",16,78,139), & color("steelblue1",99,184,255), & color("steelblue2",92,172,238), & color("steelblue3",79,148,205), & color("steelblue4",54,100,139), & color("deepskyblue1",0,191,255), & color("deepskyblue2",0,178,238), & color("deepskyblue3",0,154,205), & color("deepskyblue4",0,104,139), & color("skyblue1",135,206,255), & color("skyblue2",126,192,238), & color("skyblue3",108,166,205), & color("skyblue4",74,112,139), & color("lightskyblue1",176,226,255), & color("lightskyblue2",164,211,238), & color("lightskyblue3",141,182,205), & color("lightskyblue4",96,123,139), & color("slategray1",198,226,255), & color("slategray2",185,211,238), & color("slategray3",159,182,205), & color("slategray4",108,123,139), & color("lightsteelblue1",202,225,255), & color("lightsteelblue2",188,210,238), & color("lightsteelblue3",162,181,205), & color("lightsteelblue4",110,123,139), & color("lightblue1",191,239,255), & color("lightblue2",178,223,238), & color("lightblue3",154,192,205), & color("lightblue4",104,131,139), & color("lightcyan1",224,255,255), & color("lightcyan2",209,238,238), & color("lightcyan3",180,205,205), & color("lightcyan4",122,139,139), & color("paleturquoise1",187,255,255), & color("paleturquoise2",174,238,238), & color("paleturquoise3",150,205,205), & color("paleturquoise4",102,139,139), & color("cadetblue1",152,245,255), & color("cadetblue2",142,229,238), & color("cadetblue3",122,197,205), & color("cadetblue4",83,134,139), & color("turquoise1",0,245,255), & color("turquoise2",0,229,238), & color("turquoise3",0,197,205), & color("turquoise4",0,134,139), & color("cyan1",0,255,255), & color("cyan2",0,238,238), & color("cyan3",0,205,205), & color("cyan4",0,139,139), & color("darkslategray1",151,255,255), & color("darkslategray2",141,238,238), & color("darkslategray3",121,205,205), & color("darkslategray4",82,139,139), & color("aquamarine1",127,255,212), & color("aquamarine2",118,238,198), & color("aquamarine3",102,205,170), & color("aquamarine4",69,139,116), & color("darkseagreen1",193,255,193), & color("darkseagreen2",180,238,180), & color("darkseagreen3",155,205,155), & color("darkseagreen4",105,139,105), & color("seagreen1",84,255,159), & color("seagreen2",78,238,148), & color("seagreen3",67,205,128), & color("seagreen4",46,139,87), & color("palegreen1",154,255,154), & color("palegreen2",144,238,144), & color("palegreen3",124,205,124), & color("palegreen4",84,139,84), & color("springgreen1",0,255,127), & color("springgreen2",0,238,118), & color("springgreen3",0,205,102), & color("springgreen4",0,139,69), & color("green1",0,255,0), & color("green2",0,238,0), & color("green3",0,205,0), & color("green4",0,139,0), & color("chartreuse1",127,255,0), & color("chartreuse2",118,238,0), & color("chartreuse3",102,205,0), & color("chartreuse4",69,139,0), & color("olivedrab1",192,255,62), & color("olivedrab2",179,238,58), & color("olivedrab3",154,205,50), & color("olivedrab4",105,139,34), & color("darkolivegreen1",202,255,112), & color("darkolivegreen2",188,238,104), & color("darkolivegreen3",162,205,90), & color("darkolivegreen4",110,139,61), & color("khaki1",255,246,143), & color("khaki2",238,230,133), & color("khaki3",205,198,115), & color("khaki4",139,134,78), & color("lightgoldenrod1",255,236,139), & color("lightgoldenrod2",238,220,130), & color("lightgoldenrod3",205,190,112), & color("lightgoldenrod4",139,129,76), & color("lightyellow1",255,255,224), & color("lightyellow2",238,238,209), & color("lightyellow3",205,205,180), & color("lightyellow4",139,139,122), & color("yellow1",255,255,0), & color("yellow2",238,238,0), & color("yellow3",205,205,0), & color("yellow4",139,139,0), & color("gold1",255,215,0), & color("gold2",238,201,0), & color("gold3",205,173,0), & color("gold4",139,117,0), & color("goldenrod1",255,193,37), & color("goldenrod2",238,180,34), & color("goldenrod3",205,155,29), & color("goldenrod4",139,105,20), & color("darkgoldenrod1",255,185,15), & color("darkgoldenrod2",238,173,14), & color("darkgoldenrod3",205,149,12), & color("darkgoldenrod4",139,101,8), & color("rosybrown1",255,193,193), & color("rosybrown2",238,180,180), & color("rosybrown3",205,155,155), & color("rosybrown4",139,105,105), & color("indianred1",255,106,106), & color("indianred2",238,99,99), & color("indianred3",205,85,85), & color("indianred4",139,58,58), & color("sienna1",255,130,71), & color("sienna2",238,121,66), & color("sienna3",205,104,57), & color("sienna4",139,71,38), & color("burlywood1",255,211,155), & color("burlywood2",238,197,145), & color("burlywood3",205,170,125), & color("burlywood4",139,115,85), & color("wheat1",255,231,186), & color("wheat2",238,216,174), & color("wheat3",205,186,150), & color("wheat4",139,126,102), & color("tan1",255,165,79), & color("tan2",238,154,73), & color("tan3",205,133,63), & color("tan4",139,90,43), & color("chocolate1",255,127,36), & color("chocolate2",238,118,33), & color("chocolate3",205,102,29), & color("chocolate4",139,69,19), & color("firebrick1",255,48,48), & color("firebrick2",238,44,44), & color("firebrick3",205,38,38), & color("firebrick4",139,26,26), & color("brown1",255,64,64), & color("brown2",238,59,59), & color("brown3",205,51,51), & color("brown4",139,35,35), & color("salmon1",255,140,105), & color("salmon2",238,130,98), & color("salmon3",205,112,84), & color("salmon4",139,76,57), & color("lightsalmon1",255,160,122), & color("lightsalmon2",238,149,114), & color("lightsalmon3",205,129,98), & color("lightsalmon4",139,87,66), & color("orange1",255,165,0), & color("orange2",238,154,0), & color("orange3",205,133,0), & color("orange4",139,90,0), & color("darkorange1",255,127,0), & color("darkorange2",238,118,0), & color("darkorange3",205,102,0), & color("darkorange4",139,69,0), & color("coral1",255,114,86), & color("coral2",238,106,80), & color("coral3",205,91,69), & color("coral4",139,62,47), & color("tomato1",255,99,71), & color("tomato2",238,92,66), & color("tomato3",205,79,57), & color("tomato4",139,54,38), & color("orangered1",255,69,0), & color("orangered2",238,64,0), & color("orangered3",205,55,0), & color("orangered4",139,37,0), & color("red1",255,0,0), & color("red2",238,0,0), & color("red3",205,0,0), & color("red4",139,0,0), & color("deeppink1",255,20,147), & color("deeppink2",238,18,137), & color("deeppink3",205,16,118), & color("deeppink4",139,10,80), & color("hotpink1",255,110,180), & color("hotpink2",238,106,167), & color("hotpink3",205,96,144), & color("hotpink4",139,58,98), & color("pink1",255,181,197), & color("pink2",238,169,184), & color("pink3",205,145,158), & color("pink4",139,99,108), & color("lightpink1",255,174,185), & color("lightpink2",238,162,173), & color("lightpink3",205,140,149), & color("lightpink4",139,95,101), & color("palevioletred1",255,130,171), & color("palevioletred2",238,121,159), & color("palevioletred3",205,104,137), & color("palevioletred4",139,71,93), & color("maroon1",255,52,179), & color("maroon2",238,48,167), & color("maroon3",205,41,144), & color("maroon4",139,28,98), & color("violetred1",255,62,150), & color("violetred2",238,58,140), & color("violetred3",205,50,120), & color("violetred4",139,34,82), & color("magenta1",255,0,255), & color("magenta2",238,0,238), & color("magenta3",205,0,205), & color("magenta4",139,0,139), & color("orchid1",255,131,250), & color("orchid2",238,122,233), & color("orchid3",205,105,201), & color("orchid4",139,71,137), & color("plum1",255,187,255), & color("plum2",238,174,238), & color("plum3",205,150,205), & color("plum4",139,102,139), & color("mediumorchid1",224,102,255), & color("mediumorchid2",209,95,238), & color("mediumorchid3",180,82,205), & color("mediumorchid4",122,55,139), & color("darkorchid1",191,62,255), & color("darkorchid2",178,58,238), & color("darkorchid3",154,50,205), & color("darkorchid4",104,34,139), & color("purple1",155,48,255), & color("purple2",145,44,238), & color("purple3",125,38,205), & color("purple4",85,26,139), & color("mediumpurple1",171,130,255), & color("mediumpurple2",159,121,238), & color("mediumpurple3",137,104,205), & color("mediumpurple4",93,71,139), & color("thistle1",255,225,255), & color("thistle2",238,210,238), & color("thistle3",205,181,205), & color("thistle4",139,123,139), & color("gray0",0,0,0), & color("gray1",3,3,3), & color("gray2",5,5,5), & color("gray3",8,8,8), & color("gray4",10,10,10), & color("gray5",13,13,13), & color("gray6",15,15,15), & color("gray7",18,18,18), & color("gray8",20,20,20), & color("gray9",23,23,23), & color("gray10",26,26,26), & color("gray11",28,28,28), & color("gray12",31,31,31), & color("gray13",33,33,33), & color("gray14",36,36,36), & color("gray15",38,38,38), & color("gray16",41,41,41), & color("gray17",43,43,43), & color("gray18",46,46,46), & color("gray19",48,48,48), & color("gray20",51,51,51), & color("gray21",54,54,54), & color("gray22",56,56,56), & color("gray23",59,59,59), & color("gray24",61,61,61), & color("gray25",64,64,64), & color("gray26",66,66,66), & color("gray27",69,69,69), & color("gray28",71,71,71), & color("gray29",74,74,74), & color("gray30",77,77,77), & color("gray31",79,79,79), & color("gray32",82,82,82), & color("gray33",84,84,84), & color("gray34",87,87,87), & color("gray35",89,89,89), & color("gray36",92,92,92), & color("gray37",94,94,94), & color("gray38",97,97,97), & color("gray39",99,99,99), & color("gray40",102,102,102), & color("gray41",105,105,105), & color("gray42",107,107,107), & color("gray43",110,110,110), & color("gray44",112,112,112), & color("gray45",115,115,115), & color("gray46",117,117,117), & color("gray47",120,120,120), & color("gray48",122,122,122), & color("gray49",125,125,125), & color("gray50",127,127,127), & color("gray51",130,130,130), & color("gray52",133,133,133), & color("gray53",135,135,135), & color("gray54",138,138,138), & color("gray55",140,140,140), & color("gray56",143,143,143), & color("gray57",145,145,145), & color("gray58",148,148,148), & color("gray59",150,150,150), & color("gray60",153,153,153), & color("gray61",156,156,156), & color("gray62",158,158,158), & color("gray63",161,161,161), & color("gray64",163,163,163), & color("gray65",166,166,166), & color("gray66",168,168,168), & color("gray67",171,171,171), & color("gray68",173,173,173), & color("gray69",176,176,176), & color("gray70",179,179,179), & color("gray71",181,181,181), & color("gray72",184,184,184), & color("gray73",186,186,186), & color("gray74",189,189,189), & color("gray75",191,191,191), & color("gray76",194,194,194), & color("gray77",196,196,196), & color("gray78",199,199,199), & color("gray79",201,201,201), & color("gray80",204,204,204), & color("gray81",207,207,207), & color("gray82",209,209,209), & color("gray83",212,212,212), & color("gray84",214,214,214), & color("gray85",217,217,217), & color("gray86",219,219,219), & color("gray87",222,222,222), & color("gray88",224,224,224), & color("gray89",227,227,227), & color("gray90",229,229,229), & color("gray91",232,232,232), & color("gray92",235,235,235), & color("gray93",237,237,237), & color("gray94",240,240,240), & color("gray95",242,242,242), & color("gray96",245,245,245), & color("gray97",247,247,247), & color("gray98",250,250,250), & color("gray99",252,252,252), & color("gray100",255,255,255), & color("darkgray",169,169,169), & color("darkblue",0,0,139), & color("darkcyan",0,139,139), & color("darkmagenta",139,0,139), & color("darkred",139,0,0), & color("lightgreen",144,238,144), & color("silver",192,192,192), & color("teal",0,128,128), & color("olive",128,128,0), & color("lime",0,255,0), & color("aqua",0,255,255), & color("fuchsia",255,0,255), & color("gray100",255,255,255)] integer :: i character(len=80) :: string do i=1,size(rgb) string=str(rgb(i)%r,";",rgb(i)%g,";",rgb(i)%b,"m",sep='') call attr_update('fg_'//trim(rgb(i)%name),achar(27)//'[38;2;'//string) ! Select RGB foreground color, rgb values from 0 to 255 call attr_update('bg_'//trim(rgb(i)%name),achar(27)//'[48;2;'//string) ! Select RGB background color, rgb values from 0 to 255 write(*,*) achar(27)//'[38;2;'//trim(string), 'fg_'//trim(rgb(i)%name) write(*,*) achar(27)//'[48;2;'//trim(string), 'bg_'//trim(rgb(i)%name) enddo write(*,*)rgb end subroutine truecolor end program testit