compositor-wayland: Call set_window_geometry when using zxdg_shell_v6
authorSergi Granell <xerpi.g.12@gmail.com>
Fri, 24 Mar 2017 22:45:13 +0000 (23:45 +0100)
committerQuentin Glidic <sardemff7+git@sardemff7.net>
Fri, 24 Mar 2017 23:26:06 +0000 (00:26 +0100)
This way Wayland compositors will be aware of Weston's
"visible bounds" (and ignore its shadows).

Signed-off-by: Sergi Granell <xerpi.g.12@gmail.com>
Reviewed-by: Quentin Glidic <sardemff7+git@sardemff7.net>
libweston/compositor-wayland.c

index 27beff6..1900ab0 100644 (file)
@@ -785,6 +785,14 @@ wayland_output_resize_surface(struct wayland_output *output)
                wl_surface_set_opaque_region(output->parent.surface, region);
                wl_region_destroy(region);
 
+               if (output->parent.xdg_surface) {
+                       zxdg_surface_v6_set_window_geometry(output->parent.xdg_surface,
+                                                           ix,
+                                                           iy,
+                                                           iwidth,
+                                                           iheight);
+               }
+
                width = frame_width(output->frame);
                height = frame_height(output->frame);
        } else {
@@ -797,6 +805,14 @@ wayland_output_resize_surface(struct wayland_output *output)
                wl_region_add(region, 0, 0, width, height);
                wl_surface_set_opaque_region(output->parent.surface, region);
                wl_region_destroy(region);
+
+               if (output->parent.xdg_surface) {
+                       zxdg_surface_v6_set_window_geometry(output->parent.xdg_surface,
+                                                           0,
+                                                           0,
+                                                           width,
+                                                           height);
+               }
        }
 
 #ifdef ENABLE_EGL