diff options
author | D.B <thejan.2009@gmail.com> | 2016-11-02 17:09:34 +0100 |
---|---|---|
committer | D.B <thejan.2009@gmail.com> | 2016-11-02 18:58:33 +0100 |
commit | 39ee0ec552c05c7ab5031982a1104a0bae1910d3 (patch) | |
tree | daaf306035c7e925e3ca0bc7867a6b6249a60b42 /sway | |
parent | d3e55f88ecaacf7c7017357e83f30f91ffc02bb0 (diff) | |
download | sway-39ee0ec552c05c7ab5031982a1104a0bae1910d3.tar.xz |
use urgent_ws color in swaybar if binding_mode is undefined
Diffstat (limited to 'sway')
-rw-r--r-- | sway/commands/bar/colors.c | 6 | ||||
-rw-r--r-- | sway/config.c | 6 | ||||
-rw-r--r-- | sway/ipc-json.c | 20 |
3 files changed, 26 insertions, 6 deletions
diff --git a/sway/commands/bar/colors.c b/sway/commands/bar/colors.c index 9e374d88..e9180604 100644 --- a/sway/commands/bar/colors.c +++ b/sway/commands/bar/colors.c @@ -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]))) { 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]))) { 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]))) { return error; + } else { + config->current_bar->colors.has_binding_mode_text = true; } return cmd_results_new(CMD_SUCCESS, NULL, NULL); diff --git a/sway/config.c b/sway/config.c index 7a41a3c8..6d4cf2ff 100644 --- a/sway/config.c +++ b/sway/config.c @@ -1147,9 +1147,9 @@ struct bar_config *default_bar_config(void) { strcpy(bar->colors.urgent_workspace_border, "#2f343aff"); strcpy(bar->colors.urgent_workspace_bg,"#900000ff"); strcpy(bar->colors.urgent_workspace_text, "#ffffffff"); - strcpy(bar->colors.binding_mode_border, "#2f343aff"); - strcpy(bar->colors.binding_mode_bg,"#900000ff"); - strcpy(bar->colors.binding_mode_text, "#ffffffff"); + bar->colors.has_binding_mode_border = false; + bar->colors.has_binding_mode_bg = false; + bar->colors.has_binding_mode_text = false; list_add(config->bars, bar); diff --git a/sway/ipc-json.c b/sway/ipc-json.c index eb77a654..458dc7c2 100644 --- a/sway/ipc-json.c +++ b/sway/ipc-json.c @@ -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_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)); - json_object_object_add(colors, "binding_mode_bg", json_object_new_string(bar->colors.binding_mode_bg)); - json_object_object_add(colors, "binding_mode_text", json_object_new_string(bar->colors.binding_mode_text)); + if (bar->colors.has_binding_mode_border) { + json_object_object_add(colors, "binding_mode_border", json_object_new_string(bar->colors.binding_mode_border)); + } 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); |