X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Ftaskbar%2Ftaskbar.c;h=e1756441692fd974f3202c941ba3295d9cb27255;hb=30db8ea2ffb03b482043ce1f95c60470ea0b8597;hp=a1be3ec78236220ec049ec53f0ad2a4dd12df247;hpb=9cb781048d0a1cf55f0044e2f9f65ac9a5a241e9;p=chaz%2Ftint2 diff --git a/src/taskbar/taskbar.c b/src/taskbar/taskbar.c index a1be3ec..e175644 100644 --- a/src/taskbar/taskbar.c +++ b/src/taskbar/taskbar.c @@ -222,12 +222,16 @@ void resize_taskbar(void *obj) Panel *panel = (Panel*)taskbar->area.panel; Task *tsk; GSList *l; - int task_count; + 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; @@ -236,7 +240,7 @@ void resize_taskbar(void *obj) 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); + 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; @@ -246,21 +250,17 @@ void resize_taskbar(void *obj) modulo_width = taskbar_width % task_count; } - if ((taskbar->task_width == pixel_width) && (taskbar->task_modulo == modulo_width)) { - } - else { - 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; - } + 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; + x = taskbar->area.posx + border_width + taskbar->area.paddingxlr; for (l = taskbar->area.list; l ; l = l->next) { tsk = l->data; + if (!tsk->area.on_screen) continue; tsk->area.posx = x; tsk->area.width = pixel_width; - tsk->area.redraw = 1; if (modulo_width) { tsk->area.width++; modulo_width--; @@ -277,7 +277,7 @@ void resize_taskbar(void *obj) task_count = g_slist_length(taskbar->area.list); if (!task_count) pixel_height = panel->g_task.maximum_height; else { - taskbar_height = taskbar->area.height - (2 * panel->g_taskbar.pix.border.width) - (2 * panel->g_taskbar.paddingxlr); + taskbar_height = taskbar->area.height - (2 * border_width) - (2 * panel->g_taskbar.paddingxlr); if (task_count>1) taskbar_height -= ((task_count-1) * panel->g_taskbar.paddingx); pixel_height = taskbar_height / task_count; @@ -287,21 +287,17 @@ void resize_taskbar(void *obj) modulo_height = taskbar_height % task_count; } - if ((taskbar->task_width == pixel_height) && (taskbar->task_modulo == modulo_height)) { - } - else { - taskbar->task_width = pixel_height; - taskbar->task_modulo = modulo_height; - taskbar->text_width = taskbar->area.width - (2 * panel->g_taskbar.paddingy) - panel->g_task.text_posx - panel->g_task.area.pix.border.width - panel->g_task.area.paddingx; - } + taskbar->task_width = pixel_height; + taskbar->task_modulo = modulo_height; + taskbar->text_width = taskbar->area.width - (2 * panel->g_taskbar.paddingy) - panel->g_task.text_posx - panel->g_task.area.pix.border.width - panel->g_task.area.paddingx; // change pos_y and height for all tasks - y = taskbar->area.posy + taskbar->area.pix.border.width + taskbar->area.paddingxlr; + y = taskbar->area.posy + border_width + taskbar->area.paddingxlr; for (l = taskbar->area.list; l ; l = l->next) { tsk = l->data; + if (!tsk->area.on_screen) continue; tsk->area.posy = y; tsk->area.height = pixel_height; - tsk->area.redraw = 1; if (modulo_height) { tsk->area.height++; modulo_height--;