diff options
author | Jesse Luehrs <doy@tozt.net> | 2014-04-20 22:10:35 -0400 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2014-04-20 22:10:35 -0400 |
commit | d84a75e3f81f3ac7bf9cd7d79904dc5418365cf4 (patch) | |
tree | 78319eb5053421033f5243eb6659b6fb01d5c8ff | |
parent | f7279faf5c974ed150adad6e30f1e73406e07f8b (diff) | |
download | runes-d84a75e3f81f3ac7bf9cd7d79904dc5418365cf4.tar.gz runes-d84a75e3f81f3ac7bf9cd7d79904dc5418365cf4.zip |
allow configuring the default color set too
-rw-r--r-- | config.c | 36 | ||||
-rw-r--r-- | display.c | 18 |
2 files changed, 36 insertions, 18 deletions
@@ -33,6 +33,24 @@ static void runes_config_set_defaults(RunesTerm *t) t->fgdefault = cairo_pattern_create_rgb(0.827, 0.827, 0.827); t->bgdefault = cairo_pattern_create_rgb(0.0, 0.0, 0.0); + t->colors[0] = cairo_pattern_create_rgb(0.0, 0.0, 0.0); + t->colors[1] = cairo_pattern_create_rgb(0.804, 0.0, 0.0); + t->colors[2] = cairo_pattern_create_rgb(0.0, 0.804, 0.0); + t->colors[3] = cairo_pattern_create_rgb(0.804, 0.804, 0.0); + t->colors[4] = cairo_pattern_create_rgb(0.0, 0.0, 0.804); + t->colors[5] = cairo_pattern_create_rgb(0.804, 0.0, 0.804); + t->colors[6] = cairo_pattern_create_rgb(0.0, 0.804, 0.804); + t->colors[7] = cairo_pattern_create_rgb(0.898, 0.898, 0.898); + + t->brightcolors[0] = cairo_pattern_create_rgb(0.302, 0.302, 0.302); + t->brightcolors[1] = cairo_pattern_create_rgb(1.0, 0.0, 0.0); + t->brightcolors[2] = cairo_pattern_create_rgb(0.0, 1.0, 0.0); + t->brightcolors[3] = cairo_pattern_create_rgb(1.0, 1.0, 0.0); + t->brightcolors[4] = cairo_pattern_create_rgb(0.0, 0.0, 1.0); + t->brightcolors[5] = cairo_pattern_create_rgb(1.0, 0.0, 1.0); + t->brightcolors[6] = cairo_pattern_create_rgb(0.0, 1.0, 1.0); + t->brightcolors[7] = cairo_pattern_create_rgb(1.0, 1.0, 1.0); + t->default_rows = 24; t->default_cols = 80; } @@ -148,6 +166,24 @@ static void runes_config_set(RunesTerm *t, char *key, char *val) t->fgdefault = newcolor; } } + else if (!strncmp(key, "color", 5) + && strlen(key) == 6 && key[5] >= '0' && key[5] <= '7') { + cairo_pattern_t *newcolor; + newcolor = runes_config_parse_color(val); + if (newcolor) { + cairo_pattern_destroy(t->colors[key[5] - '0']); + t->colors[key[5] - '0'] = newcolor; + } + } + else if (!strncmp(key, "brightcolor", 5) + && strlen(key) == 6 && key[5] >= '0' && key[5] <= '7') { + cairo_pattern_t *newcolor; + newcolor = runes_config_parse_color(val); + if (newcolor) { + cairo_pattern_destroy(t->brightcolors[key[5] - '0']); + t->brightcolors[key[5] - '0'] = newcolor; + } + } else if (!strcmp(key, "rows")) { t->default_rows = runes_config_parse_uint(val); } @@ -17,24 +17,6 @@ void runes_display_init(RunesTerm *t) { runes_display_recalculate_font_metrics(t); - t->colors[0] = cairo_pattern_create_rgb(0.0, 0.0, 0.0); - t->colors[1] = cairo_pattern_create_rgb(0.804, 0.0, 0.0); - t->colors[2] = cairo_pattern_create_rgb(0.0, 0.804, 0.0); - t->colors[3] = cairo_pattern_create_rgb(0.804, 0.804, 0.0); - t->colors[4] = cairo_pattern_create_rgb(0.0, 0.0, 0.804); - t->colors[5] = cairo_pattern_create_rgb(0.804, 0.0, 0.804); - t->colors[6] = cairo_pattern_create_rgb(0.0, 0.804, 0.804); - t->colors[7] = cairo_pattern_create_rgb(0.898, 0.898, 0.898); - - t->brightcolors[0] = cairo_pattern_create_rgb(0.302, 0.302, 0.302); - t->brightcolors[1] = cairo_pattern_create_rgb(1.0, 0.0, 0.0); - t->brightcolors[2] = cairo_pattern_create_rgb(0.0, 1.0, 0.0); - t->brightcolors[3] = cairo_pattern_create_rgb(1.0, 1.0, 0.0); - t->brightcolors[4] = cairo_pattern_create_rgb(0.0, 0.0, 1.0); - t->brightcolors[5] = cairo_pattern_create_rgb(1.0, 0.0, 1.0); - t->brightcolors[6] = cairo_pattern_create_rgb(0.0, 1.0, 1.0); - t->brightcolors[7] = cairo_pattern_create_rgb(1.0, 1.0, 1.0); - t->cursorcolor = cairo_pattern_create_rgba(0.0, 1.0, 0.0, 0.5); t->fgcolor = -1; |