aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorFurkan Sahin <furkan-dev@proton.me>2020-11-03 00:16:15 -0500
committerFurkan Sahin <furkan-dev@proton.me>2020-11-03 00:16:15 -0500
commit118b354a7a7ca62d9386e2d5b61a569d29334fff (patch)
tree5ec7b68db2acbc1c68538a08b0b039477e8f8858 /include
parentb25fbbc9459430a81a7864f46f726050b769735a (diff)
tree/container: introduce `container_is_sticky[_or_child]` functions
To query whether a container is sticky, checking `con->is_sticky` is insufficient. `container_is_floating_or_child` must also return true; this led to a lot of repetition. This commit introduces `container_is_sticky[_or_child]` functions, and switches all stickiness checks to use them. (Including ones where the container is already known to be floating, for consistency.)
Diffstat (limited to 'include')
-rw-r--r--include/sway/tree/container.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/include/sway/tree/container.h b/include/sway/tree/container.h
index 136d618b..c9290108 100644
--- a/include/sway/tree/container.h
+++ b/include/sway/tree/container.h
@@ -78,6 +78,9 @@ struct sway_container {
enum sway_container_layout layout;
enum sway_container_layout prev_split_layout;
+ // Whether stickiness has been enabled on this container. Use
+ // `container_is_sticky_[or_child]` rather than accessing this field
+ // directly; it'll also check that the container is floating.
bool is_sticky;
// For C_ROOT, this has no meaning
@@ -367,4 +370,8 @@ bool container_is_scratchpad_hidden(struct sway_container *con);
bool container_is_scratchpad_hidden_or_child(struct sway_container *con);
+bool container_is_sticky(struct sway_container *con);
+
+bool container_is_sticky_or_child(struct sway_container *con);
+
#endif