diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/sway/desktop/transaction.h | 6 | ||||
| -rw-r--r-- | include/sway/output.h | 2 | ||||
| -rw-r--r-- | include/sway/tree/container.h | 2 | ||||
| -rw-r--r-- | include/sway/tree/node.h | 1 | ||||
| -rw-r--r-- | include/sway/tree/view.h | 4 | ||||
| -rw-r--r-- | include/sway/tree/workspace.h | 4 |
6 files changed, 12 insertions, 7 deletions
diff --git a/include/sway/desktop/transaction.h b/include/sway/desktop/transaction.h index 80af4aae..dd7edb7a 100644 --- a/include/sway/desktop/transaction.h +++ b/include/sway/desktop/transaction.h @@ -23,7 +23,6 @@ struct sway_transaction_instruction; struct sway_view; -struct sway_node; /** * Find all dirty containers, create and commit a transaction containing them, @@ -31,11 +30,6 @@ struct sway_node; */ void transaction_commit_dirty(void); -/** - * Remove a node that will be destroyed from transactions and dirty node lists. - */ -void transaction_remove_node(struct sway_node *node); - /* * Same as transaction_commit_dirty, but signalling that this is a * client-initiated change has already taken effect. diff --git a/include/sway/output.h b/include/sway/output.h index 43c3dc9a..f6354e0e 100644 --- a/include/sway/output.h +++ b/include/sway/output.h @@ -84,6 +84,8 @@ struct sway_output *output_create(struct wlr_output *wlr_output); void output_destroy(struct sway_output *output); +void output_begin_destroy(struct sway_output *output); + struct sway_output *output_from_wlr_output(struct wlr_output *output); struct sway_output *output_get_in_direction(struct sway_output *reference, diff --git a/include/sway/tree/container.h b/include/sway/tree/container.h index 4b284104..e18fd00a 100644 --- a/include/sway/tree/container.h +++ b/include/sway/tree/container.h @@ -155,6 +155,8 @@ struct sway_container *container_create(struct sway_view *view); void container_destroy(struct sway_container *con); +void container_begin_destroy(struct sway_container *con); + /** * Search a container's descendants a container based on test criteria. Returns * the first container that passes the test. diff --git a/include/sway/tree/node.h b/include/sway/tree/node.h index 7b6e936c..e2dbcdf0 100644 --- a/include/sway/tree/node.h +++ b/include/sway/tree/node.h @@ -39,6 +39,7 @@ struct sway_node { struct sway_transaction_instruction *instruction; size_t ntxnrefs; + bool destroying; // If true, indicates that the container has pending state that differs from // the current. diff --git a/include/sway/tree/view.h b/include/sway/tree/view.h index d999b502..6151a023 100644 --- a/include/sway/tree/view.h +++ b/include/sway/tree/view.h @@ -101,6 +101,8 @@ struct sway_view { struct wl_listener foreign_close_request; struct wl_listener foreign_destroy; + bool destroying; + list_t *executed_criteria; // struct criteria * union { @@ -294,6 +296,8 @@ bool view_init(struct sway_view *view, enum sway_view_type type, void view_destroy(struct sway_view *view); +void view_begin_destroy(struct sway_view *view); + /** * Map a view, ie. make it visible in the tree. * diff --git a/include/sway/tree/workspace.h b/include/sway/tree/workspace.h index 77991b27..27ed649f 100644 --- a/include/sway/tree/workspace.h +++ b/include/sway/tree/workspace.h @@ -62,7 +62,9 @@ struct sway_workspace *workspace_create(struct sway_output *output, void workspace_destroy(struct sway_workspace *workspace); -bool workspace_consider_destroy(struct sway_workspace *ws); +void workspace_begin_destroy(struct sway_workspace *workspace); + +void workspace_consider_destroy(struct sway_workspace *ws); char *workspace_next_name(const char *output_name); |
