diff --git a/include/sway/desktop/transaction.h b/include/sway/desktop/transaction.h index 175489c57..833a3f1f3 100644 --- a/include/sway/desktop/transaction.h +++ b/include/sway/desktop/transaction.h @@ -1,6 +1,10 @@ #ifndef _SWAY_TRANSACTION_H #define _SWAY_TRANSACTION_H #include +#include "sway/output.h" +#include "sway/tree/container.h" +#include "sway/tree/workspace.h" + /** * Transactions enable us to perform atomic layout updates. @@ -19,7 +23,25 @@ * create and commits a transaction from the dirty containers. */ -struct sway_transaction_instruction; +struct sway_transaction { + struct wl_event_source *timer; + list_t *instructions; // struct sway_transaction_instruction * + size_t num_waiting; + size_t num_configures; + struct timespec commit_time; +}; + +struct sway_transaction_instruction { + struct sway_transaction *transaction; + struct sway_node *node; + union { + struct sway_output_state output_state; + struct sway_workspace_state workspace_state; + struct sway_container_state container_state; + }; + uint32_t serial; +}; + struct sway_view; /** diff --git a/sway/desktop/transaction.c b/sway/desktop/transaction.c index eac389917..fd99881f9 100644 --- a/sway/desktop/transaction.c +++ b/sway/desktop/transaction.c @@ -18,25 +18,6 @@ #include "list.h" #include "log.h" -struct sway_transaction { - struct wl_event_source *timer; - list_t *instructions; // struct sway_transaction_instruction * - size_t num_waiting; - size_t num_configures; - struct timespec commit_time; -}; - -struct sway_transaction_instruction { - struct sway_transaction *transaction; - struct sway_node *node; - union { - struct sway_output_state output_state; - struct sway_workspace_state workspace_state; - struct sway_container_state container_state; - }; - uint32_t serial; -}; - static struct sway_transaction *transaction_create(void) { struct sway_transaction *transaction = calloc(1, sizeof(struct sway_transaction));