- 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;
- if (j == server.desktop && tskbar->area.use_active)
- tskbar->area.is_active = 1;
+ if (panel->g_taskbar.background[TASKBAR_NORMAL] == 0) {
+ panel->g_taskbar.background[TASKBAR_NORMAL] = &g_array_index(backgrounds, Background, 0);
+ panel->g_taskbar.background[TASKBAR_ACTIVE] = &g_array_index(backgrounds, Background, 0);
+ }
+ if (panel->g_taskbar.background_name[TASKBAR_NORMAL] == 0) {
+ panel->g_taskbar.background_name[TASKBAR_NORMAL] = &g_array_index(backgrounds, Background, 0);
+ panel->g_taskbar.background_name[TASKBAR_ACTIVE] = &g_array_index(backgrounds, Background, 0);
+ }
+ if (panel->g_task.area.bg == 0)
+ panel->g_task.area.bg = &g_array_index(backgrounds, Background, 0);
+
+ // taskbar name
+ panel->g_taskbar.area_name.panel = panel;
+ panel->g_taskbar.area_name.size_mode = SIZE_BY_CONTENT;
+ panel->g_taskbar.area_name._resize = resize_taskbarname;
+ panel->g_taskbar.area_name._draw_foreground = draw_taskbarname;
+ panel->g_taskbar.area_name._on_change_layout = 0;
+ panel->g_taskbar.area_name.resize = 1;
+ panel->g_taskbar.area_name.on_screen = 1;
+
+ // taskbar
+ panel->g_taskbar.area.parent = panel;
+ panel->g_taskbar.area.panel = panel;
+ panel->g_taskbar.area.size_mode = SIZE_BY_LAYOUT;
+ panel->g_taskbar.area._resize = resize_taskbar;
+ panel->g_taskbar.area._draw_foreground = draw_taskbar;
+ panel->g_taskbar.area._on_change_layout = on_change_taskbar;
+ panel->g_taskbar.area.resize = 1;
+ panel->g_taskbar.area.on_screen = 1;
+ if (panel_horizontal) {
+ panel->g_taskbar.area.posy = panel->area.bg->border.width + panel->area.paddingy;
+ panel->g_taskbar.area.height = panel->area.height - (2 * panel->g_taskbar.area.posy);
+ panel->g_taskbar.area_name.posy = panel->g_taskbar.area.posy;
+ panel->g_taskbar.area_name.height = panel->g_taskbar.area.height;
+ }
+ else {
+ panel->g_taskbar.area.posx = panel->area.bg->border.width + panel->area.paddingy;
+ panel->g_taskbar.area.width = panel->area.width - (2 * panel->g_taskbar.area.posx);
+ panel->g_taskbar.area_name.posx = panel->g_taskbar.area.posx;
+ panel->g_taskbar.area_name.width = panel->g_taskbar.area.width;
+ }