GUACAMOLE-630: Accept pre-defined color schemes in all cases, not just during terminal creation.
diff --git a/src/terminal/color-scheme.c b/src/terminal/color-scheme.c
index f430019..7c8673a 100644
--- a/src/terminal/color-scheme.c
+++ b/src/terminal/color-scheme.c
@@ -196,6 +196,23 @@
guac_terminal_color* background,
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. */
*foreground = GUAC_TERMINAL_INITIAL_PALETTE[GUAC_TERMINAL_COLOR_GRAY];
*background = GUAC_TERMINAL_INITIAL_PALETTE[GUAC_TERMINAL_COLOR_BLACK];
diff --git a/src/terminal/terminal.c b/src/terminal/terminal.c
index cf70f92..e502586 100644
--- a/src/terminal/terminal.c
+++ b/src/terminal/terminal.c
@@ -327,23 +327,6 @@
guac_terminal_color (*default_palette)[256] = (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,
&default_char.attributes.foreground,
&default_char.attributes.background,