From 0b7fe54f9e9fe1a3ac548eaa9fefa2e4058a2493 Mon Sep 17 00:00:00 2001 From: Brian Ashworth Date: Tue, 11 Sep 2018 19:34:57 -0400 Subject: [PATCH] Update textures for cmd_client_* commands Since the `client.{focused,focused_inactive,unfocused,urgent}` commands change colors, the textures need to be updated otherwise the textures and the rest of the title bar may utilize different colors. --- sway/commands/client.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/sway/commands/client.c b/sway/commands/client.c index d6b7de1a..6e5f08a2 100644 --- a/sway/commands/client.c +++ b/sway/commands/client.c @@ -1,8 +1,16 @@ #include "log.h" #include "sway/commands.h" #include "sway/config.h" +#include "sway/output.h" #include "sway/tree/container.h" +static void rebuild_textures_iterator(struct sway_container *con, void *data) { + if (con->view) { + view_update_marks_textures(con->view); + } + container_update_title_textures(con); +} + /** * Parse the hex string into an integer. */ @@ -79,6 +87,15 @@ static struct cmd_results *handle_command(int argc, char **argv, "Unable to parse child border color"); } + if (config->active) { + root_for_each_container(rebuild_textures_iterator, NULL); + + for (int i = 0; i < root->outputs->length; ++i) { + struct sway_output *output = root->outputs->items[i]; + output_damage_whole(output); + } + } + return cmd_results_new(CMD_SUCCESS, NULL, NULL); }