+
+
+void start_show_timeout()
+{
+ 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)
+ tooltip_show();
+ else
+ reset_timer(g_tooltip.show_timer_id, t.tv_sec, t.tv_nsec, 0, 0);
+}
+
+
+void start_hide_timeout()
+{
+ reset_timer(g_tooltip.show_timer_id, 0, 0, 0, 0);
+ struct timespec t = g_tooltip.hide_timeout;
+ if (t.tv_sec == 0 && t.tv_nsec == 0)
+ tooltip_hide();
+ else
+ reset_timer(g_tooltip.hide_timer_id, t.tv_sec, t.tv_nsec, 0, 0);
+}
+
+void stop_timeouts()
+{
+ reset_timer(g_tooltip.show_timer_id, 0, 0, 0, 0);
+ reset_timer(g_tooltip.hide_timer_id, 0, 0, 0, 0);
+}