diff options
Diffstat (limited to 'include/sway/server.h')
-rw-r--r-- | include/sway/server.h | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/include/sway/server.h b/include/sway/server.h index 0f5e3ab2..88dda097 100644 --- a/include/sway/server.h +++ b/include/sway/server.h | |||
@@ -9,6 +9,7 @@ | |||
9 | #include <wlr/types/wlr_data_device.h> | 9 | #include <wlr/types/wlr_data_device.h> |
10 | #include <wlr/types/wlr_input_method_v2.h> | 10 | #include <wlr/types/wlr_input_method_v2.h> |
11 | #include <wlr/types/wlr_foreign_toplevel_management_v1.h> | 11 | #include <wlr/types/wlr_foreign_toplevel_management_v1.h> |
12 | #include <wlr/types/wlr_drm_lease_v1.h> | ||
12 | #include <wlr/types/wlr_layer_shell_v1.h> | 13 | #include <wlr/types/wlr_layer_shell_v1.h> |
13 | #include <wlr/types/wlr_output_management_v1.h> | 14 | #include <wlr/types/wlr_output_management_v1.h> |
14 | #include <wlr/types/wlr_output_power_management_v1.h> | 15 | #include <wlr/types/wlr_output_power_management_v1.h> |
@@ -23,6 +24,8 @@ | |||
23 | #include "sway/xwayland.h" | 24 | #include "sway/xwayland.h" |
24 | #endif | 25 | #endif |
25 | 26 | ||
27 | struct sway_transaction; | ||
28 | |||
26 | struct sway_server { | 29 | struct sway_server { |
27 | struct wl_display *wl_display; | 30 | struct wl_display *wl_display; |
28 | struct wl_event_loop *wl_event_loop; | 31 | struct wl_event_loop *wl_event_loop; |
@@ -70,6 +73,9 @@ struct sway_server { | |||
70 | struct wl_listener xdg_decoration; | 73 | struct wl_listener xdg_decoration; |
71 | struct wl_list xdg_decorations; // sway_xdg_decoration::link | 74 | struct wl_list xdg_decorations; // sway_xdg_decoration::link |
72 | 75 | ||
76 | struct wlr_drm_lease_v1_manager *drm_lease_manager; | ||
77 | struct wl_listener drm_lease_request; | ||
78 | |||
73 | struct wlr_presentation *presentation; | 79 | struct wlr_presentation *presentation; |
74 | 80 | ||
75 | struct wlr_pointer_constraints_v1 *pointer_constraints; | 81 | struct wlr_pointer_constraints_v1 *pointer_constraints; |
@@ -85,8 +91,25 @@ struct sway_server { | |||
85 | struct wlr_text_input_manager_v3 *text_input; | 91 | struct wlr_text_input_manager_v3 *text_input; |
86 | struct wlr_foreign_toplevel_manager_v1 *foreign_toplevel_manager; | 92 | struct wlr_foreign_toplevel_manager_v1 *foreign_toplevel_manager; |
87 | 93 | ||
94 | struct wlr_xdg_activation_v1 *xdg_activation_v1; | ||
95 | struct wl_listener xdg_activation_v1_request_activate; | ||
96 | |||
97 | // The timeout for transactions, after which a transaction is applied | ||
98 | // regardless of readiness. | ||
88 | size_t txn_timeout_ms; | 99 | size_t txn_timeout_ms; |
89 | list_t *transactions; | 100 | |
101 | // Stores a transaction after it has been committed, but is waiting for | ||
102 | // views to ack the new dimensions before being applied. A queued | ||
103 | // transaction is frozen and must not have new instructions added to it. | ||
104 | struct sway_transaction *queued_transaction; | ||
105 | |||
106 | // Stores a pending transaction that will be committed once the existing | ||
107 | // queued transaction is applied and freed. The pending transaction can be | ||
108 | // updated with new instructions as needed. | ||
109 | struct sway_transaction *pending_transaction; | ||
110 | |||
111 | // Stores the nodes that have been marked as "dirty" and will be put into | ||
112 | // the pending transaction. | ||
90 | list_t *dirty_nodes; | 113 | list_t *dirty_nodes; |
91 | }; | 114 | }; |
92 | 115 | ||
@@ -96,6 +119,7 @@ struct sway_debug { | |||
96 | bool noatomic; // Ignore atomic layout updates | 119 | bool noatomic; // Ignore atomic layout updates |
97 | bool txn_timings; // Log verbose messages about transactions | 120 | bool txn_timings; // Log verbose messages about transactions |
98 | bool txn_wait; // Always wait for the timeout before applying | 121 | bool txn_wait; // Always wait for the timeout before applying |
122 | bool noscanout; // Disable direct scan-out | ||
99 | 123 | ||
100 | enum { | 124 | enum { |
101 | DAMAGE_DEFAULT, // Default behaviour | 125 | DAMAGE_DEFAULT, // Default behaviour |
@@ -125,5 +149,7 @@ void handle_xwayland_surface(struct wl_listener *listener, void *data); | |||
125 | void handle_server_decoration(struct wl_listener *listener, void *data); | 149 | void handle_server_decoration(struct wl_listener *listener, void *data); |
126 | void handle_xdg_decoration(struct wl_listener *listener, void *data); | 150 | void handle_xdg_decoration(struct wl_listener *listener, void *data); |
127 | void handle_pointer_constraint(struct wl_listener *listener, void *data); | 151 | void handle_pointer_constraint(struct wl_listener *listener, void *data); |
152 | void xdg_activation_v1_handle_request_activate(struct wl_listener *listener, | ||
153 | void *data); | ||
128 | 154 | ||
129 | #endif | 155 | #endif |