#include <sys/time.h>
#include "task.h"
+#include "panel.h"
-enum tooltip_state {
- TOOLTIP_ABOUT_TO_SHOW,
- TOOLTIP_ABOUT_TO_HIDE,
-};
typedef struct {
- Task* task;
+ Area* area; // never ever use the area attribut if you are not 100% sure that this area was not freed
+ char* tooltip_text;
+ Panel* panel;
Window window;
- struct itimerval show_timeout;
- struct itimerval hide_timeout;
+ struct timespec show_timeout;
+ struct timespec hide_timeout;
Bool enabled;
- enum tooltip_state current_state;
Bool mapped;
int paddingx;
int paddingy;
config_color font_color;
Color background_color;
Border border;
+ int show_timer_id;
+ int hide_timer_id;
} Tooltip;
extern Tooltip g_tooltip;
-
void init_tooltip();
void cleanup_tooltip();
-void tooltip_sighandler(int sig);
-void tooltip_trigger_show(Task* task, int x, int y);
+void tooltip_trigger_show(Area* area, Panel* p, int x, int y);
void tooltip_show();
void tooltip_update();
void tooltip_trigger_hide();