summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwrmr2025-10-11 17:59:41 -0400
committerwrmr2025-10-11 17:59:41 -0400
commit34a6d1352452ad7aabfe3c849d75101c8cddbe8d (patch)
treefc0109f2bda72083c389b330143d38545a03241e
parent86ee7ac60d85eb3609adc02152bd54188ca4be04 (diff)
add color pair attributes in opt
-rw-r--r--main.c40
1 files 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;