- int ret, task_count, pixel_width, modulo_width=0;
- int x, taskbar_width;
- Task *tsk;
- Panel *panel = (Panel*)taskbar->area.panel;
- GSList *l;
-
- // 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);
- if (task_count>1) taskbar_width -= ((task_count-1) * panel->g_taskbar.paddingx);
-
- pixel_width = taskbar_width / task_count;
- if (pixel_width > panel->g_task.maximum_width)
- pixel_width = panel->g_task.maximum_width;
- else
- modulo_width = taskbar_width % task_count;
- }
- //printf("monitor %d, resize_tasks %d %d\n", panel->monitor, task_count, pixel_width);
-
- if ((taskbar->task_width == pixel_width) && (taskbar->task_modulo == modulo_width)) {
- ret = 0;
- }
- else {
- ret = 1;
- taskbar->task_width = pixel_width;
- taskbar->task_modulo = modulo_width;
- taskbar->text_width = pixel_width - panel->g_task.text_posx - panel->g_task.area.pix.border.width - panel->g_task.area.paddingx;
- }
-
- // change pos_x and width for all tasks
- x = taskbar->area.posx + taskbar->area.pix.border.width + taskbar->area.paddingxlr;
- for (l = taskbar->area.list; l ; l = l->next) {
- tsk = l->data;
- tsk->area.posx = x;
- tsk->area.width = pixel_width;
- if (modulo_width) {
- tsk->area.width++;
- modulo_width--;
- }
-
- x += tsk->area.width + panel->g_taskbar.paddingx;
- }
- return ret;
-}
+ Taskbar *taskbar = (Taskbar*)obj;
+ Panel *panel = (Panel*)taskbar->area.panel;
+ Task *tsk;
+ GSList *l;
+ int task_count, border_width;
+
+ //printf("resize_taskbar : posx et width des taches\n");
+ taskbar->area.redraw = 1;
+
+ if (taskbar->area.is_active && taskbar->area.use_active)
+ border_width = taskbar->area.pix_active.border.width;
+ else
+ border_width = taskbar->area.pix.border.width;
+
+ if (panel_horizontal) {
+ int pixel_width, modulo_width=0;
+ int x, taskbar_width;
+
+ // 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 * border_width) - (2 * panel->g_taskbar.paddingxlr);
+ if (task_count>1) taskbar_width -= ((task_count-1) * panel->g_taskbar.paddingx);
+
+ pixel_width = taskbar_width / task_count;
+ if (pixel_width > panel->g_task.maximum_width)
+ pixel_width = panel->g_task.maximum_width;
+ else
+ modulo_width = taskbar_width % task_count;
+ }