*add* tooltips
git-svn-id: http://tint2.googlecode.com/svn/trunk@175 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
This commit is contained in:
33
src/tint.c
33
src/tint.c
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user