}
-Taskbar *click_taskbar (Panel *panel, int x, int y)
-{
- Taskbar *tskbar;
- int i;
-
- if (panel_horizontal) {
- for (i=0; i < panel->nb_desktop ; i++) {
- tskbar = &panel->taskbar[i];
- if (tskbar->area.on_screen && x >= tskbar->area.posx && x <= (tskbar->area.posx + tskbar->area.width))
- return tskbar;
- }
- }
- else {
- for (i=0; i < panel->nb_desktop ; i++) {
- tskbar = &panel->taskbar[i];
- if (tskbar->area.on_screen && y >= tskbar->area.posy && y <= (tskbar->area.posy + tskbar->area.height))
- return tskbar;
- }
- }
- return NULL;
-}
-
-
-Task *click_task (Panel *panel, int x, int y)
-{
- GSList *l0;
- Taskbar *tskbar;
-
- if ( (tskbar = click_taskbar(panel, x, y)) ) {
- if (panel_horizontal) {
- Task *tsk;
- for (l0 = tskbar->area.list; l0 ; l0 = l0->next) {
- tsk = l0->data;
- if (tsk->area.on_screen && x >= tsk->area.posx && x <= (tsk->area.posx + tsk->area.width)) {
- return tsk;
- }
- }
- }
- else {
- Task *tsk;
- for (l0 = tskbar->area.list; l0 ; l0 = l0->next) {
- tsk = l0->data;
- if (tsk->area.on_screen && y >= tsk->area.posy && y <= (tsk->area.posy + tsk->area.height)) {
- return tsk;
- }
- }
- }
- }
- return NULL;
-}
-
-
-int click_padding(Panel *panel, int x, int y)
-{
- if (panel_horizontal) {
- if (x < panel->area.paddingxlr || x > panel->area.width-panel->area.paddingxlr)
- return 1;
- }
- else {
- if (y < panel->area.paddingxlr || y > panel->area.height-panel->area.paddingxlr)
- return 1;
- }
- return 0;
-}
-
-
-int click_clock(Panel *panel, int x, int y)
-{
- Clock clk = panel->clock;
- if (panel_horizontal) {
- if (clk.area.on_screen && x >= clk.area.posx && x <= (clk.area.posx + clk.area.width))
- return TRUE;
- } else {
- if (clk.area.on_screen && y >= clk.area.posy && y <= (clk.area.posy + clk.area.height))
- return TRUE;
- }
- return FALSE;
-}
-
-
void window_action (Task *tsk, int action)
{
if (!tsk) return;
windows_set_desktop(tsk->win, desk);
if (desk == server.desktop)
set_active(tsk->win);
+ break;
+ case NEXT_TASK:
+ if (task_active) {
+ Task *tsk1;
+ tsk1 = next_task(task_active);
+ set_active(tsk1->win);
+ }
+ break;
+ case PREV_TASK:
+ if (task_active) {
+ Task *tsk1;
+ tsk1 = prev_task(task_active);
+ set_active(tsk1->win);
+ }
}
}
case MotionNotify: {
if (!g_tooltip.enabled) break;
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);
+ Area* area = click_area(panel, e.xmotion.x, e.xmotion.y);
+ if (area->_get_tooltip_text) {
+ tooltip_trigger_show(area, panel, e.xmotion.x_root, e.xmotion.y_root);
+ }
else
tooltip_trigger_hide();
break;
tooltip_update();
break;
-
case PropertyNotify:
event_property_notify(&e);
break;