- // taskbar
- panel->g_taskbar._resize = resize_taskbar;
- panel->g_taskbar.redraw = 1;
- panel->g_taskbar.on_screen = 1;
- if (panel_horizontal) {
- panel->g_taskbar.posy = panel->area.pix.border.width + panel->area.paddingy;
- panel->g_taskbar.height = panel->area.height - (2 * panel->g_taskbar.posy);
- }
- else {
- panel->g_taskbar.posx = panel->area.pix.border.width + panel->area.paddingy;
- panel->g_taskbar.width = panel->area.width - (2 * panel->g_taskbar.posx);
- }
-
- // task
- panel->g_task.area._draw_foreground = draw_task;
- panel->g_task.area.use_active = 1;
- panel->g_task.area.redraw = 1;
- panel->g_task.area.on_screen = 1;
- if (panel_horizontal) {
- 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);
- }
- else {
- panel->g_task.area.posx = panel->g_taskbar.posx + panel->g_taskbar.pix.border.width + panel->g_taskbar.paddingy;
- panel->g_task.area.width = panel->area.width - (2 * panel->g_task.area.posx);
- panel->g_task.area.height = panel->g_task.maximum_width;
- }
-
- if (panel->g_task.area.pix.border.rounded > panel->g_task.area.height/2) {
- panel->g_task.area.pix.border.rounded = panel->g_task.area.height/2;
- panel->g_task.area.pix_active.border.rounded = panel->g_task.area.pix.border.rounded;
- }
-
- // compute vertical position : text and icon
- int height_ink, height;
- get_text_size(panel->g_task.font_desc, &height_ink, &height, panel->area.height, "TAjpg", 5);
-
- if (!panel->g_task.maximum_width)
- panel->g_task.maximum_width = server.monitor[panel->monitor].width;
-
- // add task_icon_size
- panel->g_task.text_posx = panel->g_task.area.paddingxlr + panel->g_task.area.pix.border.width;
- panel->g_task.text_posy = (panel->g_task.area.height - height) / 2.0;
- if (panel->g_task.icon) {
- panel->g_task.icon_size1 = panel->g_task.area.height - (2 * panel->g_task.area.paddingy);
- panel->g_task.text_posx += panel->g_task.icon_size1;
- panel->g_task.icon_posy = (panel->g_task.area.height - panel->g_task.icon_size1) / 2;
- }
- //printf("monitor %d, task_maximum_width %d\n", panel->monitor, panel->g_task.maximum_width);
-
- Taskbar *tskbar;
- panel->nb_desktop = server.nb_desktop;
- panel->taskbar = calloc(panel->nb_desktop, sizeof(Taskbar));
- for (j=0 ; j < panel->nb_desktop ; j++) {
- tskbar = &panel->taskbar[j];
- memcpy(&tskbar->area, &panel->g_taskbar, sizeof(Area));
- tskbar->desktop = j;
-
- // add taskbar to the panel
- panel->area.list = g_slist_append(panel->area.list, tskbar);
- }
- }