diff options
Diffstat (limited to 'sway/desktop/output.c')
-rw-r--r-- | sway/desktop/output.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/sway/desktop/output.c b/sway/desktop/output.c index a206ac6b..1512408e 100644 --- a/sway/desktop/output.c +++ b/sway/desktop/output.c | |||
@@ -14,6 +14,7 @@ | |||
14 | #include <wlr/types/wlr_surface.h> | 14 | #include <wlr/types/wlr_surface.h> |
15 | #include <wlr/util/region.h> | 15 | #include <wlr/util/region.h> |
16 | #include "log.h" | 16 | #include "log.h" |
17 | #include "config.h" | ||
17 | #include "sway/config.h" | 18 | #include "sway/config.h" |
18 | #include "sway/input/input-manager.h" | 19 | #include "sway/input/input-manager.h" |
19 | #include "sway/input/seat.h" | 20 | #include "sway/input/seat.h" |
@@ -128,7 +129,7 @@ void output_layer_for_each_surface(struct wl_list *layer_surfaces, | |||
128 | user_data); | 129 | user_data); |
129 | } | 130 | } |
130 | } | 131 | } |
131 | 132 | #ifdef HAVE_XWAYLAND | |
132 | void output_unmanaged_for_each_surface(struct wl_list *unmanaged, | 133 | void output_unmanaged_for_each_surface(struct wl_list *unmanaged, |
133 | struct sway_output *output, struct root_geometry *geo, | 134 | struct sway_output *output, struct root_geometry *geo, |
134 | wlr_surface_iterator_func_t iterator, void *user_data) { | 135 | wlr_surface_iterator_func_t iterator, void *user_data) { |
@@ -143,7 +144,7 @@ void output_unmanaged_for_each_surface(struct wl_list *unmanaged, | |||
143 | iterator, user_data); | 144 | iterator, user_data); |
144 | } | 145 | } |
145 | } | 146 | } |
146 | 147 | #endif | |
147 | void output_drag_icons_for_each_surface(struct wl_list *drag_icons, | 148 | void output_drag_icons_for_each_surface(struct wl_list *drag_icons, |
148 | struct sway_output *output, struct root_geometry *geo, | 149 | struct sway_output *output, struct root_geometry *geo, |
149 | wlr_surface_iterator_func_t iterator, void *user_data) { | 150 | wlr_surface_iterator_func_t iterator, void *user_data) { |
@@ -244,13 +245,13 @@ static void send_frame_done_layer(struct send_frame_done_data *data, | |||
244 | output_layer_for_each_surface(layer_surfaces, &data->root_geo, | 245 | output_layer_for_each_surface(layer_surfaces, &data->root_geo, |
245 | send_frame_done_iterator, data); | 246 | send_frame_done_iterator, data); |
246 | } | 247 | } |
247 | 248 | #ifdef HAVE_XWAYLAND | |
248 | static void send_frame_done_unmanaged(struct send_frame_done_data *data, | 249 | static void send_frame_done_unmanaged(struct send_frame_done_data *data, |
249 | struct wl_list *unmanaged) { | 250 | struct wl_list *unmanaged) { |
250 | output_unmanaged_for_each_surface(unmanaged, data->output, &data->root_geo, | 251 | output_unmanaged_for_each_surface(unmanaged, data->output, &data->root_geo, |
251 | send_frame_done_iterator, data); | 252 | send_frame_done_iterator, data); |
252 | } | 253 | } |
253 | 254 | #endif | |
254 | static void send_frame_done_drag_icons(struct send_frame_done_data *data, | 255 | static void send_frame_done_drag_icons(struct send_frame_done_data *data, |
255 | struct wl_list *drag_icons) { | 256 | struct wl_list *drag_icons) { |
256 | output_drag_icons_for_each_surface(drag_icons, data->output, &data->root_geo, | 257 | output_drag_icons_for_each_surface(drag_icons, data->output, &data->root_geo, |
@@ -291,11 +292,12 @@ static void send_frame_done(struct sway_output *output, struct timespec *when) { | |||
291 | if (workspace->current.ws_fullscreen) { | 292 | if (workspace->current.ws_fullscreen) { |
292 | send_frame_done_container_iterator( | 293 | send_frame_done_container_iterator( |
293 | workspace->current.ws_fullscreen->swayc, &data); | 294 | workspace->current.ws_fullscreen->swayc, &data); |
294 | 295 | #ifdef HAVE_XWAYLAND | |
295 | if (workspace->current.ws_fullscreen->type == SWAY_VIEW_XWAYLAND) { | 296 | if (workspace->current.ws_fullscreen->type == SWAY_VIEW_XWAYLAND) { |
296 | send_frame_done_unmanaged(&data, | 297 | send_frame_done_unmanaged(&data, |
297 | &root_container.sway_root->xwayland_unmanaged); | 298 | &root_container.sway_root->xwayland_unmanaged); |
298 | } | 299 | } |
300 | #endif | ||
299 | } else { | 301 | } else { |
300 | send_frame_done_layer(&data, | 302 | send_frame_done_layer(&data, |
301 | &output->layers[ZWLR_LAYER_SHELL_V1_LAYER_BACKGROUND]); | 303 | &output->layers[ZWLR_LAYER_SHELL_V1_LAYER_BACKGROUND]); |
@@ -305,8 +307,10 @@ static void send_frame_done(struct sway_output *output, struct timespec *when) { | |||
305 | send_frame_done_container(&data, workspace); | 307 | send_frame_done_container(&data, workspace); |
306 | send_frame_done_container(&data, workspace->sway_workspace->floating); | 308 | send_frame_done_container(&data, workspace->sway_workspace->floating); |
307 | 309 | ||
310 | #ifdef HAVE_XWAYLAND | ||
308 | send_frame_done_unmanaged(&data, | 311 | send_frame_done_unmanaged(&data, |
309 | &root_container.sway_root->xwayland_unmanaged); | 312 | &root_container.sway_root->xwayland_unmanaged); |
313 | #endif | ||
310 | send_frame_done_layer(&data, | 314 | send_frame_done_layer(&data, |
311 | &output->layers[ZWLR_LAYER_SHELL_V1_LAYER_TOP]); | 315 | &output->layers[ZWLR_LAYER_SHELL_V1_LAYER_TOP]); |
312 | } | 316 | } |