summaryrefslogtreecommitdiff
path: root/sway/criteria.c
diff options
context:
space:
mode:
authorRyan Dwyer <[email protected]>2018-07-22 14:10:40 +1000
committerRyan Dwyer <[email protected]>2018-07-23 08:24:32 +1000
commit81e8f31cc6f284b54ab206e14af7ecbc1a9ed1bb (patch)
treeea124a94869d06edb3f98e85ecd649275e86ef91 /sway/criteria.c
parent89dc047ca9558efe4efe8a81a15903cd0f0bdcba (diff)
Implement scratchpad
Implements the following commands: * move scratchpad * scratchpad show * [criteria] scratchpad show Also fixes these: * Fix memory leak when executing command with criteria (use `list_free(views)` instead of `free(views)`) * Fix crash when running `move to` with no further arguments
Diffstat (limited to 'sway/criteria.c')
-rw-r--r--sway/criteria.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/sway/criteria.c b/sway/criteria.c
index e2b248de..6af97d5b 100644
--- a/sway/criteria.c
+++ b/sway/criteria.c
@@ -225,6 +225,14 @@ list_t *criteria_get_views(struct criteria *criteria) {
};
container_for_each_descendant_dfs(&root_container,
criteria_get_views_iterator, &data);
+
+ // Scratchpad items which are hidden are not in the tree.
+ for (int i = 0; i < server.scratchpad->length; ++i) {
+ struct sway_container *con = server.scratchpad->items[i];
+ if (!con->parent) {
+ criteria_get_views_iterator(con, &data);
+ }
+ }
return matches;
}