From 2b79dc291a51e774a5e00ee92ec5b733d6ba24a4 Mon Sep 17 00:00:00 2001 From: iamcheeseman <[hidden email]> Date: Sun, 1 Mar 2026 17:41:42 -0500 Subject: why, mener, why --- src/bardata.c | 40 ++++++++++++++++++++++++++-------------- 1 file changed, 26 insertions(+), 14 deletions(-) (limited to 'src/bardata.c') diff --git a/src/bardata.c b/src/bardata.c index 9742385..43e8443 100644 --- a/src/bardata.c +++ b/src/bardata.c @@ -25,8 +25,11 @@ comp_t *find_comp(char *name) { } } - strcpy(comps[comps_size++].name, name); - return &comps[comps_size - 1]; + comp_t *comp = &comps[comps_size++]; + strcpy(comp->name, name); + comp->fg = default_fg; + comp->bg = default_bg; + return comp; } void add_component(comp_side_t side, char *name) { @@ -48,6 +51,22 @@ void add_component(comp_side_t side, char *name) { } } +color_t parse_color(const char* col_str) { + color_t col = {0}; + + if (col_str[0] == '#') { + col_str++; + } + + col.pixel = strtol(col_str, NULL, 16); + col.color.red = (col.pixel >> 16) & 0xFF; + col.color.green = (col.pixel >> 8) & 0xFF; + col.color.blue = (col.pixel) & 0xFF; + col.color.alpha = 255; + + return col; +} + void set_component(char argv[MAX_ARGS][MAX_ARG_LEN], int argc) { comp_t* comp = find_comp(argv[1]); @@ -57,6 +76,11 @@ void set_component(char argv[MAX_ARGS][MAX_ARG_LEN], int argc) { i++; continue; } + if (strcmp(argv[i], "-fg") == 0) { + const char* col_str = argv[++i]; + comp->fg = parse_color(col_str); + continue; + } } } @@ -96,18 +120,6 @@ color_t parse_color(const char* col_str) { col.color.blue = (col.pixel) & 0xFF; col.color.alpha = 255; - printf( - "%lx %lx %lx %lx %d %d %d %d\n", - col.pixel, - col.pixel >> 16 & 0xFF, - col.pixel >> 8 & 0xFF, - col.pixel & 0xFF, - col.color.red, - col.color.green, - col.color.blue, - col.color.alpha - ); - return col; } -- cgit v1.3-2-g0d8e