As primeiras 16 cores são padrão há muito tempo (e possuem principalmente matizes padrão). 256 cores são uma extensão mais recente definida pelo xterm e terminais compatíveis. A documentação do xterm tem isto a dizer sobre as cores 16–255:
These specify the colors for the 256-color extension. The default resource values are for colors 16 through 231 to make a 6x6x6 color cube, and colors 232 through 255 to make a grayscale ramp.
As cores podem ser alteradas a partir do terminal; veja o arquivo ctlseqs
. Por exemplo, print '\e]4;42;taupe\a'
altera a cor 42 para ser taupe (os nomes das cores estão disponíveis em /etc/X11/rgb.txt
ou algum outro local dependente da distribuição).
Se estiver satisfeito em assumir que as cores acima de 16 têm seus valores padrão, você pode estender a matriz $color
com nomes de rgb.txt
. Você precisará fazer um pouco de aritmética para encontrar a aproximação mais próxima das cores de 8 bits em cores de lg (6).