diff options
Diffstat (limited to 'main.c')
-rw-r--r-- | main.c | 11 |
1 files changed, 7 insertions, 4 deletions
@@ -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 */ } |