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.
This commit is contained in:
Brian Ashworth 2018-09-11 19:34:57 -04:00
parent 4fbec701fc
commit 0b7fe54f9e
1 changed files with 17 additions and 0 deletions

View File

@ -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);
}