use urgent_ws color in swaybar if binding_mode is undefined
This commit is contained in:
parent
d3e55f88ec
commit
39ee0ec552
|
@ -163,6 +163,10 @@ struct bar_config {
|
||||||
char binding_mode_border[10];
|
char binding_mode_border[10];
|
||||||
char binding_mode_bg[10];
|
char binding_mode_bg[10];
|
||||||
char binding_mode_text[10];
|
char binding_mode_text[10];
|
||||||
|
|
||||||
|
bool has_binding_mode_border;
|
||||||
|
bool has_binding_mode_bg;
|
||||||
|
bool has_binding_mode_text;
|
||||||
} colors;
|
} colors;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -57,14 +57,20 @@ struct cmd_results *bar_colors_cmd_binding_mode(int argc, char **argv) {
|
||||||
|
|
||||||
if ((error = add_color("binding_mode_border", config->current_bar->colors.binding_mode_border, argv[0]))) {
|
if ((error = add_color("binding_mode_border", config->current_bar->colors.binding_mode_border, argv[0]))) {
|
||||||
return error;
|
return error;
|
||||||
|
} else {
|
||||||
|
config->current_bar->colors.has_binding_mode_border = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((error = add_color("binding_mode_bg", config->current_bar->colors.binding_mode_bg, argv[1]))) {
|
if ((error = add_color("binding_mode_bg", config->current_bar->colors.binding_mode_bg, argv[1]))) {
|
||||||
return error;
|
return error;
|
||||||
|
} else {
|
||||||
|
config->current_bar->colors.has_binding_mode_bg = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((error = add_color("binding_mode_text", config->current_bar->colors.binding_mode_text, argv[2]))) {
|
if ((error = add_color("binding_mode_text", config->current_bar->colors.binding_mode_text, argv[2]))) {
|
||||||
return error;
|
return error;
|
||||||
|
} else {
|
||||||
|
config->current_bar->colors.has_binding_mode_text = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
return cmd_results_new(CMD_SUCCESS, NULL, NULL);
|
return cmd_results_new(CMD_SUCCESS, NULL, NULL);
|
||||||
|
|
|
@ -1147,9 +1147,9 @@ struct bar_config *default_bar_config(void) {
|
||||||
strcpy(bar->colors.urgent_workspace_border, "#2f343aff");
|
strcpy(bar->colors.urgent_workspace_border, "#2f343aff");
|
||||||
strcpy(bar->colors.urgent_workspace_bg,"#900000ff");
|
strcpy(bar->colors.urgent_workspace_bg,"#900000ff");
|
||||||
strcpy(bar->colors.urgent_workspace_text, "#ffffffff");
|
strcpy(bar->colors.urgent_workspace_text, "#ffffffff");
|
||||||
strcpy(bar->colors.binding_mode_border, "#2f343aff");
|
bar->colors.has_binding_mode_border = false;
|
||||||
strcpy(bar->colors.binding_mode_bg,"#900000ff");
|
bar->colors.has_binding_mode_bg = false;
|
||||||
strcpy(bar->colors.binding_mode_text, "#ffffffff");
|
bar->colors.has_binding_mode_text = false;
|
||||||
|
|
||||||
list_add(config->bars, bar);
|
list_add(config->bars, bar);
|
||||||
|
|
||||||
|
|
|
@ -328,9 +328,23 @@ json_object *ipc_json_describe_bar_config(struct bar_config *bar) {
|
||||||
json_object_object_add(colors, "urgent_workspace_bg", json_object_new_string(bar->colors.urgent_workspace_bg));
|
json_object_object_add(colors, "urgent_workspace_bg", json_object_new_string(bar->colors.urgent_workspace_bg));
|
||||||
json_object_object_add(colors, "urgent_workspace_text", json_object_new_string(bar->colors.urgent_workspace_text));
|
json_object_object_add(colors, "urgent_workspace_text", json_object_new_string(bar->colors.urgent_workspace_text));
|
||||||
|
|
||||||
json_object_object_add(colors, "binding_mode_border", json_object_new_string(bar->colors.binding_mode_border));
|
if (bar->colors.has_binding_mode_border) {
|
||||||
json_object_object_add(colors, "binding_mode_bg", json_object_new_string(bar->colors.binding_mode_bg));
|
json_object_object_add(colors, "binding_mode_border", json_object_new_string(bar->colors.binding_mode_border));
|
||||||
json_object_object_add(colors, "binding_mode_text", json_object_new_string(bar->colors.binding_mode_text));
|
} else {
|
||||||
|
json_object_object_add(colors, "binding_mode_border", json_object_new_string(bar->colors.urgent_workspace_border));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (bar->colors.has_binding_mode_bg) {
|
||||||
|
json_object_object_add(colors, "binding_mode_bg", json_object_new_string(bar->colors.binding_mode_bg));
|
||||||
|
} else {
|
||||||
|
json_object_object_add(colors, "binding_mode_bg", json_object_new_string(bar->colors.urgent_workspace_bg));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (bar->colors.has_binding_mode_text) {
|
||||||
|
json_object_object_add(colors, "binding_mode_text", json_object_new_string(bar->colors.binding_mode_text));
|
||||||
|
} else {
|
||||||
|
json_object_object_add(colors, "binding_mode_text", json_object_new_string(bar->colors.urgent_workspace_text));
|
||||||
|
}
|
||||||
|
|
||||||
json_object_object_add(json, "colors", colors);
|
json_object_object_add(json, "colors", colors);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue