]> Dogcows Code - chaz/tint2/blobdiff - src/taskbar/task.c
*add* autohide
[chaz/tint2] / src / taskbar / task.c
index 81d4edad3361944e12eb665af57969b2bba567d6..98590431da7a01a455f8c50cc9275f63140738c0 100644 (file)
@@ -75,6 +75,7 @@ Task *add_task (Window win)
        Taskbar *tskbar;
        Task *new_tsk2=0;
        int i, j;
+       // QUESTION: Do we need to iterate over nb_panel (we know the monitor, why not taking panel1[monitor]???
        for (i=0 ; i < nb_panel ; i++) {
                for (j=0 ; j < panel1[i].nb_desktop ; j++) {
                        if (new_tsk.desktop != ALLDESKTOP && new_tsk.desktop != j) continue;
@@ -312,8 +313,13 @@ void draw_task_icon (Task *tsk, int text_width, int active)
                imlib_context_set_image (tsk->icon_active);
                pmap = &tsk->area.pix_active.pmap;
        }
-       imlib_context_set_drawable (*pmap);
-       imlib_render_image_on_drawable (pos_x, panel->g_task.icon_posy);
+       if (real_transparency) {
+               render_image(*pmap, pos_x, panel->g_task.icon_posy, imlib_image_get_width(), imlib_image_get_height() );
+       }
+       else {
+               imlib_context_set_drawable (*pmap);
+               imlib_render_image_on_drawable (pos_x, panel->g_task.icon_posy);
+       }
 }
 
 
@@ -463,7 +469,7 @@ void active_task()
 }
 
 
-void blink_urgent()
+void blink_urgent(void* arg)
 {
        GSList* urgent_task = urgent_list;
        while (urgent_task) {
@@ -504,7 +510,7 @@ void add_urgent(Task *tsk)
        urgent_list = g_slist_concat(urgent_add, urgent_list);
 
        if (urgent_timeout == 0)
-               urgent_timeout = add_timeout(10, 1000, blink_urgent);
+               urgent_timeout = add_timeout(10, 1000, blink_urgent, 0);
 }
 
 
This page took 0.023657 seconds and 4 git commands to generate.