From 34a6d1352452ad7aabfe3c849d75101c8cddbe8d Mon Sep 17 00:00:00 2001 From: wrmr Date: Sat, 11 Oct 2025 17:59:41 -0400 Subject: add color pair attributes in opt --- main.c | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/main.c b/main.c index 3fa481e..7002dbc 100644 --- a/main.c +++ b/main.c @@ -62,26 +62,26 @@ /* colors */ -#define CPAIR_ENUM_X(cp, fg, bg, name) cp, -#define CPAIR_NAME_X(cp, fg, bg, name) Ss(name), -#define CPAIR_INIT_X(cp, fg, bg, name) init_pair(cp, fg, bg); -#define CPAIR_OPT_X(cp, f, b, name) [cp] = { .fg = f, .bg = b, .init = 1 }, +#define CPAIR_ENUM_X(cp, fg, bg, attr, name) cp, +#define CPAIR_NAME_X(cp, fg, bg, attr, name) Ss(name), +#define CPAIR_OPT_X(cp, f, b, a, name) [cp] = { .fg = f, .bg = b, .attr = a, .init = 1 }, #define COLOR_NORM -1 #define COLOR_FG COLOR_NORM #define COLOR_BG COLOR_NORM + #define CPAIR_LIST(X)\ - X(CPAIR_TEXT , COLOR_FG , COLOR_BG, "text")\ - X(CPAIR_MENTION , COLOR_BLACK , COLOR_WHITE, "mention")\ - X(CPAIR_USER , COLOR_YELLOW , COLOR_BG, "user")\ - X(CPAIR_PRONOUNS , COLOR_CYAN , COLOR_BG, "pronouns")\ - X(CPAIR_DATE , COLOR_BLUE , COLOR_BG, "date")\ - X(CPAIR_PFP , COLOR_BLUE , COLOR_BG, "pfp")\ - X(CPAIR_PFP_SELF , COLOR_YELLOW , COLOR_BG, "pfp.self")\ - X(CPAIR_BANNER , COLOR_FG , COLOR_BG, "banner")\ - X(CPAIR_BORDER , COLOR_BLUE , COLOR_BG, "border")\ - X(CPAIR_MSG_OK , COLOR_GREEN , COLOR_BG, "msg.ok")\ - X(CPAIR_MSG_WARN , COLOR_YELLOW , COLOR_BG, "msg.warn")\ - X(CPAIR_MSG_ERR , COLOR_RED , COLOR_BG, "msg.err") + X(CPAIR_TEXT , COLOR_FG , COLOR_BG, A_NORMAL , "text")\ + X(CPAIR_MENTION , COLOR_FG , COLOR_BG, A_REVERSE, "mention")\ + X(CPAIR_USER , COLOR_YELLOW , COLOR_BG, A_NORMAL , "user")\ + X(CPAIR_PRONOUNS , COLOR_CYAN , COLOR_BG, A_NORMAL , "pronouns")\ + X(CPAIR_DATE , COLOR_BLUE , COLOR_BG, A_NORMAL , "date")\ + X(CPAIR_PFP , COLOR_BLUE , COLOR_BG, A_NORMAL , "pfp")\ + X(CPAIR_PFP_SELF , COLOR_YELLOW , COLOR_BG, A_NORMAL , "pfp.self")\ + X(CPAIR_BANNER , COLOR_FG , COLOR_BG, A_NORMAL , "banner")\ + X(CPAIR_BORDER , COLOR_BLUE , COLOR_BG, A_NORMAL , "border")\ + X(CPAIR_MSG_OK , COLOR_GREEN , COLOR_BG, A_NORMAL , "msg.ok")\ + X(CPAIR_MSG_WARN , COLOR_YELLOW , COLOR_BG, A_NORMAL , "msg.warn")\ + X(CPAIR_MSG_ERR , COLOR_RED , COLOR_BG, A_NORMAL , "msg.err") typedef enum { /* not all curses implementation allow modifying cpair 0 */ @@ -95,10 +95,6 @@ Str cpair_name[CPAIR_MAX] = { CPAIR_LIST(CPAIR_NAME_X) }; -void use_color(ColorPair cp) { - color_set(cp, 0); -} - /* dynamic arrays */ #define DYNARR(T) struct { ptrdiff_t len, cap; T *data; } @@ -565,6 +561,10 @@ int gfx_post_height(GfxPost *post) { return base; } +void use_color(ColorPair cp) { + attr_set(opt.color[cp].attr, cp, 0); +} + void gfx_draw_box(int y, int x, int height, int width) { use_color(CPAIR_BORDER); int right = x + width - 1, bottom = y + height - 1; -- cgit v1.2.3