aboutsummaryrefslogtreecommitdiff
path: root/sway/tree/container.c
diff options
context:
space:
mode:
authorRyan Dwyer <RyanDwyer@users.noreply.github.com>2018-05-13 11:52:51 +1000
committerGitHub <noreply@github.com>2018-05-13 11:52:51 +1000
commit0c96d757d0d5d1762390dd119cbe344e8781c19f (patch)
tree34ca494ccdc42799010a00f495b1d19193f20fe7 /sway/tree/container.c
parent9d607b72532096e469fdaccf474836c310b629ff (diff)
parent90e6dfa268461a10d6b95c3a7d74834923392cd6 (diff)
Merge pull request #1960 from RedSoxFan/edge-borders
Implement hide_edge_borders
Diffstat (limited to 'sway/tree/container.c')
-rw-r--r--sway/tree/container.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/sway/tree/container.c b/sway/tree/container.c
index db02c69c..fc35a81c 100644
--- a/sway/tree/container.c
+++ b/sway/tree/container.c
@@ -547,6 +547,21 @@ 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++;
+ }
+ 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];