diff options
author | wrmr | 2025-10-08 17:04:17 -0400 |
---|---|---|
committer | wrmr | 2025-10-08 17:04:17 -0400 |
commit | 6a7f675ac39d88d88e46da282bbcb150cb5b76c6 (patch) | |
tree | 776a8639e7b6abda40fe142b5d768f30ed1a5703 | |
parent | 8402bc583c0d3a9ff42c0a9883c6350c42ccfc18 (diff) |
rework color initialization a bit
-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 */ } |