diff options
Diffstat (limited to 'include/sway/server.h')
-rw-r--r-- | include/sway/server.h | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/include/sway/server.h b/include/sway/server.h index 0f5e3ab2..3a5670d9 100644 --- a/include/sway/server.h +++ b/include/sway/server.h | |||
@@ -23,6 +23,8 @@ | |||
23 | #include "sway/xwayland.h" | 23 | #include "sway/xwayland.h" |
24 | #endif | 24 | #endif |
25 | 25 | ||
26 | struct sway_transaction; | ||
27 | |||
26 | struct sway_server { | 28 | struct sway_server { |
27 | struct wl_display *wl_display; | 29 | struct wl_display *wl_display; |
28 | struct wl_event_loop *wl_event_loop; | 30 | struct wl_event_loop *wl_event_loop; |
@@ -85,8 +87,25 @@ struct sway_server { | |||
85 | struct wlr_text_input_manager_v3 *text_input; | 87 | struct wlr_text_input_manager_v3 *text_input; |
86 | struct wlr_foreign_toplevel_manager_v1 *foreign_toplevel_manager; | 88 | struct wlr_foreign_toplevel_manager_v1 *foreign_toplevel_manager; |
87 | 89 | ||
90 | struct wlr_xdg_activation_v1 *xdg_activation_v1; | ||
91 | struct wl_listener xdg_activation_v1_request_activate; | ||
92 | |||
93 | // The timeout for transactions, after which a transaction is applied | ||
94 | // regardless of readiness. | ||
88 | size_t txn_timeout_ms; | 95 | size_t txn_timeout_ms; |
89 | list_t *transactions; | 96 | |
97 | // Stores a transaction after it has been committed, but is waiting for | ||
98 | // views to ack the new dimensions before being applied. A queued | ||
99 | // transaction is frozen and must not have new instructions added to it. | ||
100 | struct sway_transaction *queued_transaction; | ||
101 | |||
102 | // Stores a pending transaction that will be committed once the existing | ||
103 | // queued transaction is applied and freed. The pending transaction can be | ||
104 | // updated with new instructions as needed. | ||
105 | struct sway_transaction *pending_transaction; | ||
106 | |||
107 | // Stores the nodes that have been marked as "dirty" and will be put into | ||
108 | // the pending transaction. | ||
90 | list_t *dirty_nodes; | 109 | list_t *dirty_nodes; |
91 | }; | 110 | }; |
92 | 111 | ||
@@ -125,5 +144,7 @@ void handle_xwayland_surface(struct wl_listener *listener, void *data); | |||
125 | void handle_server_decoration(struct wl_listener *listener, void *data); | 144 | void handle_server_decoration(struct wl_listener *listener, void *data); |
126 | void handle_xdg_decoration(struct wl_listener *listener, void *data); | 145 | void handle_xdg_decoration(struct wl_listener *listener, void *data); |
127 | void handle_pointer_constraint(struct wl_listener *listener, void *data); | 146 | void handle_pointer_constraint(struct wl_listener *listener, void *data); |
147 | void xdg_activation_v1_handle_request_activate(struct wl_listener *listener, | ||
148 | void *data); | ||
128 | 149 | ||
129 | #endif | 150 | #endif |