diff options
author | Pascal Pascher <aur@clouddrop.de> | 2018-07-24 22:16:06 +0200 |
---|---|---|
committer | Pascal Pascher <aur@clouddrop.de> | 2018-07-24 22:16:06 +0200 |
commit | 24ad1c3983192b47345566fd876e26b45160d68e (patch) | |
tree | b617f8d15cb20897b1c016fb67fab80d7245c66a /sway/desktop/output.c | |
parent | Merge pull request #2165 from swaywm/pid-workspaces (diff) | |
download | sway-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.c | 15 |
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 | |
132 | void output_unmanaged_for_each_surface(struct wl_list *unmanaged, | 132 | void 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 | |
147 | void output_drag_icons_for_each_surface(struct wl_list *drag_icons, | 147 | void 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 | |
248 | static void send_frame_done_unmanaged(struct send_frame_done_data *data, | 248 | static 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 | |
254 | static void send_frame_done_drag_icons(struct send_frame_done_data *data, | 254 | static 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 | } |