GUACAMOLE-630: Accept pre-defined color schemes in all cases, not just during terminal creation.
This commit is contained in:
parent
0c7898c55a
commit
b5191caddc
@ -196,6 +196,23 @@ void guac_terminal_parse_color_scheme(guac_client* client,
|
|||||||
guac_terminal_color* background,
|
guac_terminal_color* background,
|
||||||
guac_terminal_color (*palette)[256]) {
|
guac_terminal_color (*palette)[256]) {
|
||||||
|
|
||||||
|
/* Special cases. */
|
||||||
|
if (color_scheme == NULL || color_scheme[0] == '\0') {
|
||||||
|
/* guac_terminal_parse_color_scheme defaults to gray-black */
|
||||||
|
}
|
||||||
|
else if (strcmp(color_scheme, GUAC_TERMINAL_SCHEME_GRAY_BLACK) == 0) {
|
||||||
|
color_scheme = "foreground:color7;background:color0";
|
||||||
|
}
|
||||||
|
else if (strcmp(color_scheme, GUAC_TERMINAL_SCHEME_BLACK_WHITE) == 0) {
|
||||||
|
color_scheme = "foreground:color0;background:color15";
|
||||||
|
}
|
||||||
|
else if (strcmp(color_scheme, GUAC_TERMINAL_SCHEME_GREEN_BLACK) == 0) {
|
||||||
|
color_scheme = "foreground:color2;background:color0";
|
||||||
|
}
|
||||||
|
else if (strcmp(color_scheme, GUAC_TERMINAL_SCHEME_WHITE_BLACK) == 0) {
|
||||||
|
color_scheme = "foreground:color15;background:color0";
|
||||||
|
}
|
||||||
|
|
||||||
/* Set default gray-black color scheme and initial palette. */
|
/* Set default gray-black color scheme and initial palette. */
|
||||||
*foreground = GUAC_TERMINAL_INITIAL_PALETTE[GUAC_TERMINAL_COLOR_GRAY];
|
*foreground = GUAC_TERMINAL_INITIAL_PALETTE[GUAC_TERMINAL_COLOR_GRAY];
|
||||||
*background = GUAC_TERMINAL_INITIAL_PALETTE[GUAC_TERMINAL_COLOR_BLACK];
|
*background = GUAC_TERMINAL_INITIAL_PALETTE[GUAC_TERMINAL_COLOR_BLACK];
|
||||||
|
@ -327,23 +327,6 @@ guac_terminal* guac_terminal_create(guac_client* client,
|
|||||||
guac_terminal_color (*default_palette)[256] = (guac_terminal_color(*)[256])
|
guac_terminal_color (*default_palette)[256] = (guac_terminal_color(*)[256])
|
||||||
malloc(sizeof(guac_terminal_color[256]));
|
malloc(sizeof(guac_terminal_color[256]));
|
||||||
|
|
||||||
/* Special cases. */
|
|
||||||
if (color_scheme == NULL || color_scheme[0] == '\0') {
|
|
||||||
/* guac_terminal_parse_color_scheme defaults to gray-black */
|
|
||||||
}
|
|
||||||
else if (strcmp(color_scheme, GUAC_TERMINAL_SCHEME_GRAY_BLACK) == 0) {
|
|
||||||
color_scheme = "foreground:color7;background:color0";
|
|
||||||
}
|
|
||||||
else if (strcmp(color_scheme, GUAC_TERMINAL_SCHEME_BLACK_WHITE) == 0) {
|
|
||||||
color_scheme = "foreground:color0;background:color15";
|
|
||||||
}
|
|
||||||
else if (strcmp(color_scheme, GUAC_TERMINAL_SCHEME_GREEN_BLACK) == 0) {
|
|
||||||
color_scheme = "foreground:color2;background:color0";
|
|
||||||
}
|
|
||||||
else if (strcmp(color_scheme, GUAC_TERMINAL_SCHEME_WHITE_BLACK) == 0) {
|
|
||||||
color_scheme = "foreground:color15;background:color0";
|
|
||||||
}
|
|
||||||
|
|
||||||
guac_terminal_parse_color_scheme(client, color_scheme,
|
guac_terminal_parse_color_scheme(client, color_scheme,
|
||||||
&default_char.attributes.foreground,
|
&default_char.attributes.foreground,
|
||||||
&default_char.attributes.background,
|
&default_char.attributes.background,
|
||||||
|
Loading…
Reference in New Issue
Block a user