*add* tooltips

git-svn-id: http://tint2.googlecode.com/svn/trunk@175 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
This commit is contained in:
Andreas.Fink85
2009-09-14 21:28:17 +00:00
parent 5b3edd6777
commit d66778438c
10 changed files with 396 additions and 13 deletions

View File

@@ -37,6 +37,7 @@
#include "taskbar.h"
#include "systraybar.h"
#include "panel.h"
#include "tooltip.h"
void signal_handler(int sig)
@@ -72,6 +73,7 @@ void init (int argc, char *argv[])
signal(SIGTERM, signal_handler);
signal(SIGHUP, signal_handler);
signal(SIGCHLD, SIG_IGN); // don't have to wait() after fork()
signal(SIGALRM, tooltip_sighandler);
// set global data
memset(&server, 0, sizeof(Server_global));
@@ -587,12 +589,15 @@ void event_property_notify (XEvent *e)
void event_expose (XEvent *e)
{
Panel *panel;
panel = get_panel(e->xany.window);
if (!panel) return;
// TODO : one panel_refresh per panel ?
panel_refresh = 1;
if (e->xany.window == g_tooltip.window)
tooltip_update();
else {
Panel *panel;
panel = get_panel(e->xany.window);
if (!panel) return;
// TODO : one panel_refresh per panel ?
panel_refresh = 1;
}
}
@@ -709,7 +714,6 @@ int main (int argc, char *argv[])
GSList *it;
init (argc, argv);
load_config:
i = 0;
init_config();
@@ -749,6 +753,7 @@ load_config:
switch (e.type) {
case ButtonPress:
tooltip_hide();
event_button_press (&e);
break;
@@ -756,6 +761,20 @@ load_config:
event_button_release(&e);
break;
case MotionNotify: {
Panel* panel = get_panel(e.xmotion.window);
Task* task = click_task(panel, e.xmotion.x, e.xmotion.y);
if (task)
tooltip_trigger_show(task, e.xmotion.x_root, e.xmotion.y_root);
else
tooltip_trigger_hide();
break;
}
case LeaveNotify:
tooltip_trigger_hide();
break;
case Expose:
event_expose(&e);
break;