selectel / pyte

Simple VTXXX-compatible linux terminal emulator
http://pyte.readthedocs.org/
GNU Lesser General Public License v3.0
658 stars 102 forks source link

How to use 256 colors ? #92

Closed Wramberg closed 1 year ago

Wramberg commented 7 years ago

Been using pyte for a while now and it works really great for everyday terminal use. I have run into some trouble when trying to get 256 color support working however.

First of all, I have been using TERM=linux which I expect is correct since the webterm example does it as well. I havent changed anything else so basically I just take raw data from a shell and feed it to a bytestream attached to a screen. When reading Screen.buffer I would expect char.fg and char.bg to contain some new kind of new colors but so far it still just contains the standard black, white, cyan, magenta, etc.

When I run colortest-256 in the shell and feed the data to pyte I get a lot of garbage in the display

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

Color cube, 6x6x6:

Grayscale ramp:

jw@jw-VirtualBox:~$

This is on master btw. What am I missing here ?

Wramberg commented 7 years ago

I realize the colortest-256 may be using wrong color sequences (ignoring envrionment vars or whatever) but I still do not know how to use the colors.

acroz commented 6 years ago

@Wramberg - have you tried it with TERM="xterm"? I think 256 colours might be an xterm extension.