summaryrefslogtreecommitdiff
path: root/sway/tree/workspace.c
diff options
context:
space:
mode:
authorTudor Brindus <[email protected]>2020-11-03 00:16:15 -0500
committerBrian Ashworth <[email protected]>2020-11-11 20:43:58 -0500
commit07042486c3c4b8e7083405ba9b34b1b87f8d396d (patch)
tree5ec7b68db2acbc1c68538a08b0b039477e8f8858 /sway/tree/workspace.c
parenta56098a24e43f459d52a638611a9084c9b1a32d8 (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 'sway/tree/workspace.c')
-rw-r--r--sway/tree/workspace.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sway/tree/workspace.c b/sway/tree/workspace.c
index 476c2568..ffcbe933 100644
--- a/sway/tree/workspace.c
+++ b/sway/tree/workspace.c
@@ -498,7 +498,7 @@ bool workspace_is_empty(struct sway_workspace *ws) {
// Sticky views are not considered to be part of this workspace
for (int i = 0; i < ws->floating->length; ++i) {
struct sway_container *floater = ws->floating->items[i];
- if (!floater->is_sticky) {
+ if (!container_is_sticky(floater)) {
return false;
}
}
@@ -819,7 +819,7 @@ size_t workspace_num_tiling_views(struct sway_workspace *ws) {
}
static void count_sticky_containers(struct sway_container *con, void *data) {
- if (container_is_floating(con) && con->is_sticky) {
+ if (container_is_sticky(con)) {
size_t *count = data;
*count += 1;
}