添加颜色配置解析

This commit is contained in:
2025-08-15 11:00:06 +08:00
parent 14b0366c65
commit be94f90c94

View File

@@ -225,16 +225,48 @@ void free_wallpaper_config(wallpaper_config_t *wallpaper_config) {
void init_color_set(void) { void init_color_set(void) {
color_set = ecalloc(1, sizeof(color_set_t)); color_set = ecalloc(1, sizeof(color_set_t));
char *bar_background = NULL;
char *tag = NULL;
char *active_tag = NULL;
char *layout = NULL;
char *client_name = NULL;
char *active_client_name = NULL;
char *status = NULL;
char *border = NULL;
char *active_border = NULL;
parse_color(bar_bg, &color_set->bar_bg); get_xresource_string("zswm.color.bar_bg", &bar_background, bar_bg);
parse_color(tag_color, &color_set->tag_color); get_xresource_string("zswm.color.tag", &tag, tag_color);
parse_color(active_tag_color, &color_set->active_tag_color); get_xresource_string("zswm.color.active_tag", &active_tag, active_tag_color);
parse_color(layout_color, &color_set->layout_color); get_xresource_string("zswm.color.layout", &layout, layout_color);
parse_color(client_name_color, &color_set->client_name_color); get_xresource_string("zswm.color.client_name", &client_name,
parse_color(active_client_name_color, &color_set->active_client_name_color); client_name_color);
parse_color(status_color, &color_set->status_color); get_xresource_string("zswm.color.active_client_name", &active_client_name,
parse_color(border_color, &color_set->border_color); active_client_name_color);
parse_color(active_border_color, &color_set->active_border_color); get_xresource_string("zswm.color.status", &status, status_color);
get_xresource_string("zswm.color.border", &border, border_color);
get_xresource_string("zswm.color.active_border", &active_border,
active_border_color);
parse_color(bar_background, &color_set->bar_bg);
parse_color(tag, &color_set->tag_color);
parse_color(active_tag, &color_set->active_tag_color);
parse_color(layout, &color_set->layout_color);
parse_color(client_name, &color_set->client_name_color);
parse_color(active_client_name, &color_set->active_client_name_color);
parse_color(status, &color_set->status_color);
parse_color(border, &color_set->border_color);
parse_color(active_border, &color_set->active_border_color);
free(bar_background);
free(tag);
free(active_tag);
free(layout);
free(client_name);
free(active_client_name);
free(status);
free(border);
free(active_border);
} }
void parse_color(const char *hex, color_t *color) { void parse_color(const char *hex, color_t *color) {