panel = &panel1[i];
// taskbar
+ panel->g_taskbar._resize = resize_taskbar;
panel->g_taskbar.posy = panel->area.pix.border.width + panel->area.paddingy;
panel->g_taskbar.height = panel->area.height - (2 * panel->g_taskbar.posy);
panel->g_taskbar.redraw = 1;
// task
- panel->g_task.area.draw_foreground = draw_foreground_task;
+ panel->g_task.area._draw_foreground = draw_foreground_task;
panel->g_task.area.posy = panel->g_taskbar.posy + panel->g_taskbar.pix.border.width + panel->g_taskbar.paddingy;
panel->g_task.area.height = panel->area.height - (2 * panel->g_task.area.posy);
panel->g_task.area.use_active = 1;
memcpy(&tskbar->area, &panel->g_taskbar, sizeof(Area));
tskbar->desktop = j;
}
-
- resize_taskbar(panel);
}
-
}
for (i=0 ; i < nb_panel ; i++) {
panel = &panel1[i];
- free(panel->taskbar);
- panel->taskbar = 0;
+ if (panel->taskbar) {
+ free(panel->taskbar);
+ panel->taskbar = 0;
+ }
}
}
if (tsk->win == win[k]) break;
}
// careful : remove_task change l0->next
- if (tsk->win != win[k]) remove_task (tsk);
+ if (k == num_results) remove_task (tsk);
}
}
}
// new task width for 'desktop'
task_count = g_slist_length(taskbar->area.list);
+
if (!task_count) pixel_width = panel->g_task.maximum_width;
else {
taskbar_width = taskbar->area.width - (2 * panel->g_taskbar.pix.border.width) - (2 * panel->g_taskbar.paddingxlr);
// initialise taskbar posx and width
-void resize_taskbar(void *p)
+void resize_taskbar(void *obj)
{
- Panel *panel = p;
+ Panel *panel = ((Area*)obj)->panel;
int taskbar_width, modulo_width, taskbar_on_screen;
if (panel_mode == MULTI_DESKTOP) taskbar_on_screen = panel->nb_desktop;
taskbar_width = panel->area.width - (2 * panel->area.paddingxlr) - (2 * panel->area.pix.border.width);
if (time1_format)
taskbar_width -= (panel->clock.area.width + panel->area.paddingx);
+ //taskbar_width -= (panel->trayer.area.width + panel->area.paddingx);
+
taskbar_width = (taskbar_width - ((taskbar_on_screen-1) * panel->area.paddingx)) / taskbar_on_screen;
if (taskbar_on_screen > 1)
modulo--;
}
+ set_redraw (&panel->taskbar[i].area);
resize_tasks(&panel->taskbar[i]);
}
}