aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoriamcheeseman <[hidden email]>2026-03-01 17:41:42 -0500
committeriamcheeseman <[hidden email]>2026-03-01 17:41:42 -0500
commit2b79dc291a51e774a5e00ee92ec5b733d6ba24a4 (patch)
tree14cbf7568fa69ee57d84d123065cd4094550478a
parent99806a7680e3aa628b242e188e9ee942e2f78e88 (diff)
why, mener, why
-rw-r--r--Makefile13
-rw-r--r--src/bardata.c40
2 files changed, 33 insertions, 20 deletions
diff --git a/Makefile b/Makefile
index 3ab7005..b7bff75 100644
--- a/Makefile
+++ b/Makefile
@@ -2,6 +2,8 @@ CC=cc
CFLAGS+=-std=c99 -pedantic -Wall -Wextra -O2 -I/usr/include/freetype2
LDFLAGS+=-lX11 -lXft
+INSTALL=/usr/local/bin
+
TSAR_OUT=tsarbar
HEADERS=src/pipe.h src/bardata.h
@@ -24,11 +26,10 @@ run: $(TSAR_OUT)
clean:
rm $(TSAR_OUT)
-install: $(SRC)
- $(CC) $(SRC) -o $(TSAR_OUT) $(CFLAGS) $(LDFLAGS)
- cp tsarbar /usr/bin/tsarbar
- cp tsarc /usr/bin/tsarc
+install: $(TSAR_OUT)
+ cp tsarbar $(INSTALL)/tsarbar
+ cp tsarc $(INSTALL)/tsarc
uninstall:
- rm /usr/bin/tsarbar
- rm /usr/bin/tsarc
+ rm $(INSTALL)/tsarbar
+ rm $(INSTALL)/tsarc
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;
}