aboutsummaryrefslogtreecommitdiffstats
path: root/include/sway/server.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/sway/server.h')
-rw-r--r--include/sway/server.h23
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
26struct sway_transaction;
27
26struct sway_server { 28struct 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);
125void handle_server_decoration(struct wl_listener *listener, void *data); 144void handle_server_decoration(struct wl_listener *listener, void *data);
126void handle_xdg_decoration(struct wl_listener *listener, void *data); 145void handle_xdg_decoration(struct wl_listener *listener, void *data);
127void handle_pointer_constraint(struct wl_listener *listener, void *data); 146void handle_pointer_constraint(struct wl_listener *listener, void *data);
147void xdg_activation_v1_handle_request_activate(struct wl_listener *listener,
148 void *data);
128 149
129#endif 150#endif