From 6150072283056cef8c760121fab42903cf701566 Mon Sep 17 00:00:00 2001 From: Tiago Vignatti Date: Wed, 23 May 2012 22:06:28 +0300 Subject: [PATCH] clients: desktop-shell: show tooltip for panel items Signed-off-by: Tiago Vignatti --- clients/desktop-shell.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/clients/desktop-shell.c b/clients/desktop-shell.c index 2473f36..d497807 100644 --- a/clients/desktop-shell.c +++ b/clients/desktop-shell.c @@ -31,6 +31,7 @@ #include #include #include +#include #include #include @@ -205,6 +206,17 @@ panel_launcher_redraw_handler(struct widget *widget, void *data) cairo_destroy(cr); } +static int +panel_launcher_motion_handler(struct widget *widget, struct input *input, + uint32_t time, float x, float y, void *data) +{ + struct panel_launcher *launcher = data; + + widget_set_tooltip(widget, basename((char *)launcher->path), x, y); + + return POINTER_LEFT_PTR; +} + static void set_hex_color(cairo_t *cr, uint32_t color) { @@ -251,6 +263,7 @@ panel_launcher_leave_handler(struct widget *widget, struct panel_launcher *launcher = data; launcher->focused = 0; + widget_destroy_tooltip(widget); widget_schedule_redraw(widget); } @@ -354,6 +367,8 @@ panel_add_launcher(struct panel *panel, const char *icon, const char *path) panel_launcher_button_handler); widget_set_redraw_handler(launcher->widget, panel_launcher_redraw_handler); + widget_set_motion_handler(launcher->widget, + panel_launcher_motion_handler); } enum { -- 2.7.4