Count descendant views for hide_edge_borders smart

This commit is contained in:
Brian Ashworth 2018-05-12 12:37:48 -04:00
parent 3db7fc2bb2
commit e3625d8f33
4 changed files with 22 additions and 5 deletions

View file

@ -547,6 +547,20 @@ bool container_has_child(struct sway_container *con,
return container_find(con, find_child_func, child);
}
int container_count_descendants_of_type(struct sway_container *con,
enum sway_container_type type) {
int children = 0;
if (con->type == type) {
children++;
} else if (con->children) {
for (int i = 0; i < con->children->length; i++) {
struct sway_container *child = con->children->items[i];
children += container_count_descendants_of_type(child, type);
}
}
return children;
}
void container_damage_whole(struct sway_container *container) {
for (int i = 0; i < root_container.children->length; ++i) {
struct sway_container *cont = root_container.children->items[i];