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.h28
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
27struct sway_transaction;
28
26struct sway_server { 29struct 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);
125void handle_server_decoration(struct wl_listener *listener, void *data); 149void handle_server_decoration(struct wl_listener *listener, void *data);
126void handle_xdg_decoration(struct wl_listener *listener, void *data); 150void handle_xdg_decoration(struct wl_listener *listener, void *data);
127void handle_pointer_constraint(struct wl_listener *listener, void *data); 151void handle_pointer_constraint(struct wl_listener *listener, void *data);
152void xdg_activation_v1_handle_request_activate(struct wl_listener *listener,
153 void *data);
128 154
129#endif 155#endif