summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--main.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/main.c b/main.c
index 911fc73..3255b93 100644
--- a/main.c
+++ b/main.c
@@ -63,8 +63,7 @@
/* colors */
#define CPAIR_ENUM_X(cp, fg, bg, name) cp,
-#define CPAIR_OPT_X(cp, fg_, bg_, name) opt.color[cp] = (ColorOpt) { .fg = fg_, .bg = bg_ };
-#define CPAIR_INIT_X(cp, fg_, bg_, name) init_pair(cp, opt.color[cp].fg, opt.color[cp].bg);
+#define CPAIR_INIT_X(cp, fg, bg, name) init_pair(cp, fg, bg);
#define COLOR_NORM -1
#define COLOR_FG COLOR_NORM
#define COLOR_BG COLOR_NORM
@@ -141,7 +140,7 @@ int utf8_cp_to_byte(Str s, int dest) {
/* options */
typedef struct {
- int fg, bg;
+ int fg, bg, init;
} ColorOpt;
typedef struct {
@@ -845,6 +844,11 @@ void init_curses(void) {
if (opt.default_colors) use_default_colors();
CPAIR_LIST(CPAIR_INIT_X)
+ for (ColorPair i = 0; i < CPAIR_MAX; i++) {
+ if (opt.color[i].init) {
+ init_pair(i, opt.color[i].fg, opt.color[i].bg);
+ }
+ }
}
void fini_curses(void) {
@@ -853,7 +857,6 @@ void fini_curses(void) {
}
void load_config(void) {
- CPAIR_LIST(CPAIR_OPT_X)
/* TODO: load cbinkrc */
}