From 6a7f675ac39d88d88e46da282bbcb150cb5b76c6 Mon Sep 17 00:00:00 2001 From: wrmr Date: Wed, 8 Oct 2025 17:04:17 -0400 Subject: rework color initialization a bit --- main.c | 11 +++++++---- 1 file 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 */ } -- cgit v1.2.3