if (!g_tooltip.font_desc)
g_tooltip.font_desc = pango_font_description_from_string("sans 10");
- if (g_tooltip.show_timer_id == 0)
- g_tooltip.show_timer_id = install_timer(0, 0, 0, 0, tooltip_show);
- if (g_tooltip.hide_timer_id == 0)
- g_tooltip.hide_timer_id = install_timer(0, 0, 0, 0, tooltip_hide);
+ g_tooltip.show_timer_id = install_timer(0, 0, 0, 0, tooltip_show);
+ g_tooltip.hide_timer_id = install_timer(0, 0, 0, 0, tooltip_hide);
XSetWindowAttributes attr;
attr.override_redirect = True;
void tooltip_show()
{
- Area* area = click_area(g_tooltip.panel, x, y);
+ int mx, my;
+ Window w;
+ XTranslateCoordinates( server.dsp, server.root_win, g_tooltip.panel->main_win, x, y, &mx, &my, &w);
+ Area* area = click_area(g_tooltip.panel, mx, my);
stop_timeouts();
if (!g_tooltip.mapped && area->_get_tooltip_text) {
tooltip_copy_text(area);
{
reset_timer(g_tooltip.hide_timer_id, 0, 0, 0, 0);
struct timespec t = g_tooltip.show_timeout;
- if (t.tv_sec == 0 && t.tv_nsec == 0)
+ if (t.tv_sec == 0 && t.tv_nsec == 0) {
tooltip_show();
- else
+ }
+ else {
reset_timer(g_tooltip.show_timer_id, t.tv_sec, t.tv_nsec, 0, 0);
+ }
}