summaryrefslogtreecommitdiff
path: root/desktop-shell/input-panel.c
diff options
context:
space:
mode:
authorKristian Høgsberg <krh@bitplanet.net>2014-01-02 01:33:42 -0800
committerKristian Høgsberg <krh@bitplanet.net>2014-01-02 01:33:42 -0800
commit0e45e8712a8a9f5f555802a1ed494d7cbe183e10 (patch)
treef9e905977528622a8b0d3f20d193ade7f93af69e /desktop-shell/input-panel.c
parent2eebcd34fc954fa5b5b6ae0a753fe250da78302c (diff)
downloadweston-0e45e8712a8a9f5f555802a1ed494d7cbe183e10.tar.gz
weston-0e45e8712a8a9f5f555802a1ed494d7cbe183e10.tar.bz2
weston-0e45e8712a8a9f5f555802a1ed494d7cbe183e10.zip
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.
Diffstat (limited to 'desktop-shell/input-panel.c')
-rw-r--r--desktop-shell/input-panel.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/desktop-shell/input-panel.c b/desktop-shell/input-panel.c
index 8fd25b0e..bb5802ac 100644
--- a/desktop-shell/input-panel.c
+++ b/desktop-shell/input-panel.c
@@ -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);
}
}