添加颜色配置解析
This commit is contained in:
50
src/main.c
50
src/main.c
@@ -225,16 +225,48 @@ void free_wallpaper_config(wallpaper_config_t *wallpaper_config) {
|
||||
|
||||
void init_color_set(void) {
|
||||
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);
|
||||
parse_color(tag_color, &color_set->tag_color);
|
||||
parse_color(active_tag_color, &color_set->active_tag_color);
|
||||
parse_color(layout_color, &color_set->layout_color);
|
||||
parse_color(client_name_color, &color_set->client_name_color);
|
||||
parse_color(active_client_name_color, &color_set->active_client_name_color);
|
||||
parse_color(status_color, &color_set->status_color);
|
||||
parse_color(border_color, &color_set->border_color);
|
||||
parse_color(active_border_color, &color_set->active_border_color);
|
||||
get_xresource_string("zswm.color.bar_bg", &bar_background, bar_bg);
|
||||
get_xresource_string("zswm.color.tag", &tag, tag_color);
|
||||
get_xresource_string("zswm.color.active_tag", &active_tag, active_tag_color);
|
||||
get_xresource_string("zswm.color.layout", &layout, layout_color);
|
||||
get_xresource_string("zswm.color.client_name", &client_name,
|
||||
client_name_color);
|
||||
get_xresource_string("zswm.color.active_client_name", &active_client_name,
|
||||
active_client_name_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) {
|
||||
|
||||
Reference in New Issue
Block a user