diff options
Diffstat (limited to 'sway/desktop/output.c')
-rw-r--r-- | sway/desktop/output.c | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/sway/desktop/output.c b/sway/desktop/output.c index 0e8a9485..aa18f1b8 100644 --- a/sway/desktop/output.c +++ b/sway/desktop/output.c | |||
@@ -267,17 +267,14 @@ static void render_output(struct sway_output *output, struct timespec *when, | |||
267 | 267 | ||
268 | // render unmanaged views on top | 268 | // render unmanaged views on top |
269 | struct wl_list *unmanaged = &root_container.sway_root->xwayland_unmanaged; | 269 | struct wl_list *unmanaged = &root_container.sway_root->xwayland_unmanaged; |
270 | struct sway_xwayland_unmanaged *sway_surface; | 270 | struct sway_xwayland_unmanaged *unmanaged_surface; |
271 | wl_list_for_each(sway_surface, unmanaged, link) { | 271 | wl_list_for_each(unmanaged_surface, unmanaged, link) { |
272 | struct wlr_xwayland_surface *xsurface = | 272 | struct wlr_xwayland_surface *xsurface = |
273 | sway_surface->wlr_xwayland_surface; | 273 | unmanaged_surface->wlr_xwayland_surface; |
274 | if (xsurface->surface == NULL) { | ||
275 | continue; | ||
276 | } | ||
277 | 274 | ||
278 | const struct wlr_box view_box = { | 275 | const struct wlr_box view_box = { |
279 | .x = xsurface->x, | 276 | .x = unmanaged_surface->lx, |
280 | .y = xsurface->y, | 277 | .y = unmanaged_surface->ly, |
281 | .width = xsurface->width, | 278 | .width = xsurface->width, |
282 | .height = xsurface->height, | 279 | .height = xsurface->height, |
283 | }; | 280 | }; |
@@ -335,12 +332,24 @@ void output_damage_whole(struct sway_output *output) { | |||
335 | wlr_output_damage_add_whole(output->damage); | 332 | wlr_output_damage_add_whole(output->damage); |
336 | } | 333 | } |
337 | 334 | ||
335 | void output_damage_whole_surface(struct sway_output *output, | ||
336 | double ox, double oy, struct wlr_surface *surface) { | ||
337 | // TODO | ||
338 | output_damage_whole(output); | ||
339 | } | ||
340 | |||
338 | void output_damage_whole_view(struct sway_output *output, | 341 | void output_damage_whole_view(struct sway_output *output, |
339 | struct sway_view *view) { | 342 | struct sway_view *view) { |
340 | // TODO | 343 | // TODO |
341 | output_damage_whole(output); | 344 | output_damage_whole(output); |
342 | } | 345 | } |
343 | 346 | ||
347 | void output_damage_whole_container(struct sway_output *output, | ||
348 | struct sway_container *con) { | ||
349 | // TODO | ||
350 | output_damage_whole(output); | ||
351 | } | ||
352 | |||
344 | static void damage_handle_destroy(struct wl_listener *listener, void *data) { | 353 | static void damage_handle_destroy(struct wl_listener *listener, void *data) { |
345 | struct sway_output *output = | 354 | struct sway_output *output = |
346 | wl_container_of(listener, output, damage_destroy); | 355 | wl_container_of(listener, output, damage_destroy); |