GUACAMOLE-278: Expand terminal palette to 256 entries. Use xterm colors for entries 16 through 255.

This commit is contained in:
Michael Jumper 2017-04-23 12:00:45 -07:00
parent eaa71f5717
commit 11bf6f05c4
2 changed files with 244 additions and 2 deletions

View File

@ -20,7 +20,7 @@
#include "config.h"
#include "terminal/palette.h"
const guac_terminal_color guac_terminal_palette[16] = {
const guac_terminal_color guac_terminal_palette[256] = {
/* Normal colors */
{0, 0x00, 0x00, 0x00}, /* Black */
@ -42,6 +42,248 @@ const guac_terminal_color guac_terminal_palette[16] = {
{14, 0x67, 0xFF, 0xFF}, /* Cyan */
{15, 0xFF, 0xFF, 0xFF}, /* White */
/* Remainder of xterm's 256-color palette */
{16, 0x00, 0x00, 0x00},
{17, 0x00, 0x00, 0x5F},
{18, 0x00, 0x00, 0x87},
{19, 0x00, 0x00, 0xAF},
{20, 0x00, 0x00, 0xD7},
{21, 0x00, 0x00, 0xFF},
{22, 0x00, 0x5F, 0x00},
{23, 0x00, 0x5F, 0x5F},
{24, 0x00, 0x5F, 0x87},
{25, 0x00, 0x5F, 0xAF},
{26, 0x00, 0x5F, 0xD7},
{27, 0x00, 0x5F, 0xFF},
{28, 0x00, 0x87, 0x00},
{29, 0x00, 0x87, 0x5F},
{30, 0x00, 0x87, 0x87},
{31, 0x00, 0x87, 0xAF},
{32, 0x00, 0x87, 0xD7},
{33, 0x00, 0x87, 0xFF},
{34, 0x00, 0xAF, 0x00},
{35, 0x00, 0xAF, 0x5F},
{36, 0x00, 0xAF, 0x87},
{37, 0x00, 0xAF, 0xAF},
{38, 0x00, 0xAF, 0xD7},
{39, 0x00, 0xAF, 0xFF},
{40, 0x00, 0xD7, 0x00},
{41, 0x00, 0xD7, 0x5F},
{42, 0x00, 0xD7, 0x87},
{43, 0x00, 0xD7, 0xAF},
{44, 0x00, 0xD7, 0xD7},
{45, 0x00, 0xD7, 0xFF},
{46, 0x00, 0xFF, 0x00},
{47, 0x00, 0xFF, 0x5F},
{48, 0x00, 0xFF, 0x87},
{49, 0x00, 0xFF, 0xAF},
{50, 0x00, 0xFF, 0xD7},
{51, 0x00, 0xFF, 0xFF},
{52, 0x5F, 0x00, 0x00},
{53, 0x5F, 0x00, 0x5F},
{54, 0x5F, 0x00, 0x87},
{55, 0x5F, 0x00, 0xAF},
{56, 0x5F, 0x00, 0xD7},
{57, 0x5F, 0x00, 0xFF},
{58, 0x5F, 0x5F, 0x00},
{59, 0x5F, 0x5F, 0x5F},
{60, 0x5F, 0x5F, 0x87},
{61, 0x5F, 0x5F, 0xAF},
{62, 0x5F, 0x5F, 0xD7},
{63, 0x5F, 0x5F, 0xFF},
{64, 0x5F, 0x87, 0x00},
{65, 0x5F, 0x87, 0x5F},
{66, 0x5F, 0x87, 0x87},
{67, 0x5F, 0x87, 0xAF},
{68, 0x5F, 0x87, 0xD7},
{69, 0x5F, 0x87, 0xFF},
{70, 0x5F, 0xAF, 0x00},
{71, 0x5F, 0xAF, 0x5F},
{72, 0x5F, 0xAF, 0x87},
{73, 0x5F, 0xAF, 0xAF},
{74, 0x5F, 0xAF, 0xD7},
{75, 0x5F, 0xAF, 0xFF},
{76, 0x5F, 0xD7, 0x00},
{77, 0x5F, 0xD7, 0x5F},
{78, 0x5F, 0xD7, 0x87},
{79, 0x5F, 0xD7, 0xAF},
{80, 0x5F, 0xD7, 0xD7},
{81, 0x5F, 0xD7, 0xFF},
{82, 0x5F, 0xFF, 0x00},
{83, 0x5F, 0xFF, 0x5F},
{84, 0x5F, 0xFF, 0x87},
{85, 0x5F, 0xFF, 0xAF},
{86, 0x5F, 0xFF, 0xD7},
{87, 0x5F, 0xFF, 0xFF},
{88, 0x87, 0x00, 0x00},
{89, 0x87, 0x00, 0x5F},
{90, 0x87, 0x00, 0x87},
{91, 0x87, 0x00, 0xAF},
{92, 0x87, 0x00, 0xD7},
{93, 0x87, 0x00, 0xFF},
{94, 0x87, 0x5F, 0x00},
{95, 0x87, 0x5F, 0x5F},
{96, 0x87, 0x5F, 0x87},
{97, 0x87, 0x5F, 0xAF},
{98, 0x87, 0x5F, 0xD7},
{99, 0x87, 0x5F, 0xFF},
{100, 0x87, 0x87, 0x00},
{101, 0x87, 0x87, 0x5F},
{102, 0x87, 0x87, 0x87},
{103, 0x87, 0x87, 0xAF},
{104, 0x87, 0x87, 0xD7},
{105, 0x87, 0x87, 0xFF},
{106, 0x87, 0xAF, 0x00},
{107, 0x87, 0xAF, 0x5F},
{108, 0x87, 0xAF, 0x87},
{109, 0x87, 0xAF, 0xAF},
{110, 0x87, 0xAF, 0xD7},
{111, 0x87, 0xAF, 0xFF},
{112, 0x87, 0xD7, 0x00},
{113, 0x87, 0xD7, 0x5F},
{114, 0x87, 0xD7, 0x87},
{115, 0x87, 0xD7, 0xAF},
{116, 0x87, 0xD7, 0xD7},
{117, 0x87, 0xD7, 0xFF},
{118, 0x87, 0xFF, 0x00},
{119, 0x87, 0xFF, 0x5F},
{120, 0x87, 0xFF, 0x87},
{121, 0x87, 0xFF, 0xAF},
{122, 0x87, 0xFF, 0xD7},
{123, 0x87, 0xFF, 0xFF},
{124, 0xAF, 0x00, 0x00},
{125, 0xAF, 0x00, 0x5F},
{126, 0xAF, 0x00, 0x87},
{127, 0xAF, 0x00, 0xAF},
{128, 0xAF, 0x00, 0xD7},
{129, 0xAF, 0x00, 0xFF},
{130, 0xAF, 0x5F, 0x00},
{131, 0xAF, 0x5F, 0x5F},
{132, 0xAF, 0x5F, 0x87},
{133, 0xAF, 0x5F, 0xAF},
{134, 0xAF, 0x5F, 0xD7},
{135, 0xAF, 0x5F, 0xFF},
{136, 0xAF, 0x87, 0x00},
{137, 0xAF, 0x87, 0x5F},
{138, 0xAF, 0x87, 0x87},
{139, 0xAF, 0x87, 0xAF},
{140, 0xAF, 0x87, 0xD7},
{141, 0xAF, 0x87, 0xFF},
{142, 0xAF, 0xAF, 0x00},
{143, 0xAF, 0xAF, 0x5F},
{144, 0xAF, 0xAF, 0x87},
{145, 0xAF, 0xAF, 0xAF},
{146, 0xAF, 0xAF, 0xD7},
{147, 0xAF, 0xAF, 0xFF},
{148, 0xAF, 0xD7, 0x00},
{149, 0xAF, 0xD7, 0x5F},
{150, 0xAF, 0xD7, 0x87},
{151, 0xAF, 0xD7, 0xAF},
{152, 0xAF, 0xD7, 0xD7},
{153, 0xAF, 0xD7, 0xFF},
{154, 0xAF, 0xFF, 0x00},
{155, 0xAF, 0xFF, 0x5F},
{156, 0xAF, 0xFF, 0x87},
{157, 0xAF, 0xFF, 0xAF},
{158, 0xAF, 0xFF, 0xD7},
{159, 0xAF, 0xFF, 0xFF},
{160, 0xD7, 0x00, 0x00},
{161, 0xD7, 0x00, 0x5F},
{162, 0xD7, 0x00, 0x87},
{163, 0xD7, 0x00, 0xAF},
{164, 0xD7, 0x00, 0xD7},
{165, 0xD7, 0x00, 0xFF},
{166, 0xD7, 0x5F, 0x00},
{167, 0xD7, 0x5F, 0x5F},
{168, 0xD7, 0x5F, 0x87},
{169, 0xD7, 0x5F, 0xAF},
{170, 0xD7, 0x5F, 0xD7},
{171, 0xD7, 0x5F, 0xFF},
{172, 0xD7, 0x87, 0x00},
{173, 0xD7, 0x87, 0x5F},
{174, 0xD7, 0x87, 0x87},
{175, 0xD7, 0x87, 0xAF},
{176, 0xD7, 0x87, 0xD7},
{177, 0xD7, 0x87, 0xFF},
{178, 0xD7, 0xAF, 0x00},
{179, 0xD7, 0xAF, 0x5F},
{180, 0xD7, 0xAF, 0x87},
{181, 0xD7, 0xAF, 0xAF},
{182, 0xD7, 0xAF, 0xD7},
{183, 0xD7, 0xAF, 0xFF},
{184, 0xD7, 0xD7, 0x00},
{185, 0xD7, 0xD7, 0x5F},
{186, 0xD7, 0xD7, 0x87},
{187, 0xD7, 0xD7, 0xAF},
{188, 0xD7, 0xD7, 0xD7},
{189, 0xD7, 0xD7, 0xFF},
{190, 0xD7, 0xFF, 0x00},
{191, 0xD7, 0xFF, 0x5F},
{192, 0xD7, 0xFF, 0x87},
{193, 0xD7, 0xFF, 0xAF},
{194, 0xD7, 0xFF, 0xD7},
{195, 0xD7, 0xFF, 0xFF},
{196, 0xFF, 0x00, 0x00},
{197, 0xFF, 0x00, 0x5F},
{198, 0xFF, 0x00, 0x87},
{199, 0xFF, 0x00, 0xAF},
{200, 0xFF, 0x00, 0xD7},
{201, 0xFF, 0x00, 0xFF},
{202, 0xFF, 0x5F, 0x00},
{203, 0xFF, 0x5F, 0x5F},
{204, 0xFF, 0x5F, 0x87},
{205, 0xFF, 0x5F, 0xAF},
{206, 0xFF, 0x5F, 0xD7},
{207, 0xFF, 0x5F, 0xFF},
{208, 0xFF, 0x87, 0x00},
{209, 0xFF, 0x87, 0x5F},
{210, 0xFF, 0x87, 0x87},
{211, 0xFF, 0x87, 0xAF},
{212, 0xFF, 0x87, 0xD7},
{213, 0xFF, 0x87, 0xFF},
{214, 0xFF, 0xAF, 0x00},
{215, 0xFF, 0xAF, 0x5F},
{216, 0xFF, 0xAF, 0x87},
{217, 0xFF, 0xAF, 0xAF},
{218, 0xFF, 0xAF, 0xD7},
{219, 0xFF, 0xAF, 0xFF},
{220, 0xFF, 0xD7, 0x00},
{221, 0xFF, 0xD7, 0x5F},
{222, 0xFF, 0xD7, 0x87},
{223, 0xFF, 0xD7, 0xAF},
{224, 0xFF, 0xD7, 0xD7},
{225, 0xFF, 0xD7, 0xFF},
{226, 0xFF, 0xFF, 0x00},
{227, 0xFF, 0xFF, 0x5F},
{228, 0xFF, 0xFF, 0x87},
{229, 0xFF, 0xFF, 0xAF},
{230, 0xFF, 0xFF, 0xD7},
{231, 0xFF, 0xFF, 0xFF},
{232, 0x08, 0x08, 0x08},
{233, 0x12, 0x12, 0x12},
{234, 0x1C, 0x1C, 0x1C},
{235, 0x26, 0x26, 0x26},
{236, 0x30, 0x30, 0x30},
{237, 0x3A, 0x3A, 0x3A},
{238, 0x44, 0x44, 0x44},
{239, 0x4E, 0x4E, 0x4E},
{240, 0x58, 0x58, 0x58},
{241, 0x62, 0x62, 0x62},
{242, 0x6C, 0x6C, 0x6C},
{243, 0x76, 0x76, 0x76},
{244, 0x80, 0x80, 0x80},
{245, 0x8A, 0x8A, 0x8A},
{246, 0x94, 0x94, 0x94},
{247, 0x9E, 0x9E, 0x9E},
{248, 0xA8, 0xA8, 0xA8},
{249, 0xB2, 0xB2, 0xB2},
{250, 0xBC, 0xBC, 0xBC},
{251, 0xC6, 0xC6, 0xC6},
{252, 0xD0, 0xD0, 0xD0},
{253, 0xDA, 0xDA, 0xDA},
{254, 0xE4, 0xE4, 0xE4},
{255, 0xEE, 0xEE, 0xEE}
};
int guac_terminal_colorcmp(const guac_terminal_color* a,

View File

@ -157,7 +157,7 @@ int guac_terminal_colorcmp(const guac_terminal_color* a,
/**
* The terminal color palette.
*/
extern const guac_terminal_color guac_terminal_palette[16];
extern const guac_terminal_color guac_terminal_palette[256];
#endif