shell: Start the input panel slide slightly on the output

If a surface is not on any output, scheduling a repaint for it is a no-op.
weston_view_schedule_repaint() schedules repaints for all outputs that
overlap with the surface extents, but if the surface is completely
outside all outputs nothing will be scheduled.  Fix this for now by starting
the slide slightly into the output.
This commit is contained in:
Kristian Høgsberg 2014-01-02 01:33:42 -08:00
parent 2eebcd34fc
commit 0e45e8712a

View File

@ -75,7 +75,7 @@ show_input_panels(struct wl_listener *listener, void *data)
weston_view_geometry_dirty(ipsurf->view);
weston_view_update_transform(ipsurf->view);
weston_surface_damage(ipsurf->surface);
weston_slide_run(ipsurf->view, ipsurf->surface->height,
weston_slide_run(ipsurf->view, ipsurf->surface->height * 0.9,
0, NULL, NULL);
}
}
@ -138,7 +138,7 @@ input_panel_configure(struct weston_surface *surface, int32_t sx, int32_t sy)
&ip_surface->view->layer_link);
weston_view_update_transform(ip_surface->view);
weston_surface_damage(surface);
weston_slide_run(ip_surface->view, ip_surface->view->surface->height, 0, NULL, NULL);
weston_slide_run(ip_surface->view, ip_surface->view->surface->height * 0.9, 0, NULL, NULL);
}
}