aboutsummaryrefslogtreecommitdiffstats
path: root/sway/desktop/output.c
diff options
context:
space:
mode:
authorLibravatar Pascal Pascher <aur@clouddrop.de>2018-07-24 22:16:06 +0200
committerLibravatar Pascal Pascher <aur@clouddrop.de>2018-07-24 22:16:06 +0200
commit24ad1c3983192b47345566fd876e26b45160d68e (patch)
treeb617f8d15cb20897b1c016fb67fab80d7245c66a /sway/desktop/output.c
parentMerge pull request #2165 from swaywm/pid-workspaces (diff)
downloadsway-24ad1c3983192b47345566fd876e26b45160d68e.tar.gz
sway-24ad1c3983192b47345566fd876e26b45160d68e.tar.zst
sway-24ad1c3983192b47345566fd876e26b45160d68e.zip
Added meson option "enable_xwayland" (default: true) to enable/disable xwayland support
Diffstat (limited to 'sway/desktop/output.c')
-rw-r--r--sway/desktop/output.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/sway/desktop/output.c b/sway/desktop/output.c
index a206ac6b..7cca23bd 100644
--- a/sway/desktop/output.c
+++ b/sway/desktop/output.c
@@ -128,7 +128,7 @@ void output_layer_for_each_surface(struct wl_list *layer_surfaces,
128 user_data); 128 user_data);
129 } 129 }
130} 130}
131 131#ifdef HAVE_XWAYLAND
132void output_unmanaged_for_each_surface(struct wl_list *unmanaged, 132void output_unmanaged_for_each_surface(struct wl_list *unmanaged,
133 struct sway_output *output, struct root_geometry *geo, 133 struct sway_output *output, struct root_geometry *geo,
134 wlr_surface_iterator_func_t iterator, void *user_data) { 134 wlr_surface_iterator_func_t iterator, void *user_data) {
@@ -143,7 +143,7 @@ void output_unmanaged_for_each_surface(struct wl_list *unmanaged,
143 iterator, user_data); 143 iterator, user_data);
144 } 144 }
145} 145}
146 146#endif
147void output_drag_icons_for_each_surface(struct wl_list *drag_icons, 147void output_drag_icons_for_each_surface(struct wl_list *drag_icons,
148 struct sway_output *output, struct root_geometry *geo, 148 struct sway_output *output, struct root_geometry *geo,
149 wlr_surface_iterator_func_t iterator, void *user_data) { 149 wlr_surface_iterator_func_t iterator, void *user_data) {
@@ -244,13 +244,13 @@ static void send_frame_done_layer(struct send_frame_done_data *data,
244 output_layer_for_each_surface(layer_surfaces, &data->root_geo, 244 output_layer_for_each_surface(layer_surfaces, &data->root_geo,
245 send_frame_done_iterator, data); 245 send_frame_done_iterator, data);
246} 246}
247 247#ifdef HAVE_XWAYLAND
248static void send_frame_done_unmanaged(struct send_frame_done_data *data, 248static void send_frame_done_unmanaged(struct send_frame_done_data *data,
249 struct wl_list *unmanaged) { 249 struct wl_list *unmanaged) {
250 output_unmanaged_for_each_surface(unmanaged, data->output, &data->root_geo, 250 output_unmanaged_for_each_surface(unmanaged, data->output, &data->root_geo,
251 send_frame_done_iterator, data); 251 send_frame_done_iterator, data);
252} 252}
253 253#endif
254static void send_frame_done_drag_icons(struct send_frame_done_data *data, 254static void send_frame_done_drag_icons(struct send_frame_done_data *data,
255 struct wl_list *drag_icons) { 255 struct wl_list *drag_icons) {
256 output_drag_icons_for_each_surface(drag_icons, data->output, &data->root_geo, 256 output_drag_icons_for_each_surface(drag_icons, data->output, &data->root_geo,
@@ -291,11 +291,12 @@ static void send_frame_done(struct sway_output *output, struct timespec *when) {
291 if (workspace->current.ws_fullscreen) { 291 if (workspace->current.ws_fullscreen) {
292 send_frame_done_container_iterator( 292 send_frame_done_container_iterator(
293 workspace->current.ws_fullscreen->swayc, &data); 293 workspace->current.ws_fullscreen->swayc, &data);
294 294 #ifdef HAVE_XWAYLAND
295 if (workspace->current.ws_fullscreen->type == SWAY_VIEW_XWAYLAND) { 295 if (workspace->current.ws_fullscreen->type == SWAY_VIEW_XWAYLAND) {
296 send_frame_done_unmanaged(&data, 296 send_frame_done_unmanaged(&data,
297 &root_container.sway_root->xwayland_unmanaged); 297 &root_container.sway_root->xwayland_unmanaged);
298 } 298 }
299 #endif
299 } else { 300 } else {
300 send_frame_done_layer(&data, 301 send_frame_done_layer(&data,
301 &output->layers[ZWLR_LAYER_SHELL_V1_LAYER_BACKGROUND]); 302 &output->layers[ZWLR_LAYER_SHELL_V1_LAYER_BACKGROUND]);
@@ -304,9 +305,11 @@ static void send_frame_done(struct sway_output *output, struct timespec *when) {
304 305
305 send_frame_done_container(&data, workspace); 306 send_frame_done_container(&data, workspace);
306 send_frame_done_container(&data, workspace->sway_workspace->floating); 307 send_frame_done_container(&data, workspace->sway_workspace->floating);
307 308
309 #ifdef HAVE_XWAYLAND
308 send_frame_done_unmanaged(&data, 310 send_frame_done_unmanaged(&data,
309 &root_container.sway_root->xwayland_unmanaged); 311 &root_container.sway_root->xwayland_unmanaged);
312 #endif
310 send_frame_done_layer(&data, 313 send_frame_done_layer(&data,
311 &output->layers[ZWLR_LAYER_SHELL_V1_LAYER_TOP]); 314 &output->layers[ZWLR_LAYER_SHELL_V1_LAYER_TOP]);
312 } 315 }