xdg-shell: fix maximizing in multi-head setup
Set the right position of maximized window. Up until now we ignored output's "position" and were using only the working area of output which is in output-relative coordinates. This led to showing the maximized window always on the first output. This, along with the previous patch, fixes https://bugs.freedesktop.org/show_bug.cgi?id=82967 Signed-off-by: Marek Chalupa <mchqwerty@gmail.com> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
This commit is contained in:
parent
bfbb64bb75
commit
8b771af986
@ -5291,15 +5291,16 @@ set_maximized_position(struct desktop_shell *shell,
|
||||
{
|
||||
int32_t surf_x, surf_y;
|
||||
pixman_rectangle32_t area;
|
||||
pixman_box32_t *e;
|
||||
|
||||
/* use surface configure to set the geometry */
|
||||
get_output_work_area(shell, shsurf->output, &area);
|
||||
surface_subsurfaces_boundingbox(shsurf->surface,
|
||||
&surf_x, &surf_y, NULL, NULL);
|
||||
e = pixman_region32_extents(&shsurf->output->region);
|
||||
|
||||
weston_view_set_position(shsurf->view,
|
||||
area.x - surf_x,
|
||||
area.y - surf_y);
|
||||
e->x1 + area.x - surf_x,
|
||||
e->y1 + area.y - surf_y);
|
||||
}
|
||||
|
||||
static void
|
||||
|
Loading…
Reference in New Issue
Block a user