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:
parent
2eebcd34fc
commit
0e45e8712a
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue