X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Ftaskbar%2Ftaskbar.c;h=da850a7932f24df7e4d4fe6e2f43dbaac284a3cc;hb=8990011624a4b3af5b8634d50052543bbdfcfac2;hp=d2ad54281d3627ad20c13b32437e67ce6db77b9e;hpb=b984f3f3b26d76ba6bf7488ac9737cd69413031c;p=chaz%2Ftint2 diff --git a/src/taskbar/taskbar.c b/src/taskbar/taskbar.c index d2ad542..da850a7 100644 --- a/src/taskbar/taskbar.c +++ b/src/taskbar/taskbar.c @@ -193,6 +193,8 @@ void init_taskbar_panel(void *p) } for (j=0; jg_task.background[j] == 0) + panel->g_task.background[j] = &g_array_index(backgrounds, Background, 0); if (panel->g_task.background[j]->border.rounded > panel->g_task.area.height/2) { printf("task%sbackground_id has a too large rounded value. Please fix your tint2rc\n", j==0 ? "_" : j==1 ? "_active_" : j==2 ? "_iconified_" : "_urgent_"); g_array_append_val(backgrounds, *panel->g_task.background[j]); @@ -228,16 +230,6 @@ void init_taskbar_panel(void *p) tskbar->area.bg = panel->g_taskbar.background[TASKBAR_ACTIVE]; else tskbar->area.bg = panel->g_taskbar.background[TASKBAR_NORMAL]; - - if (taskbarname_enabled) { - memcpy(&tskbar->bar_name.area, &panel->g_taskbar.area_name, sizeof(Area)); - tskbar->bar_name.area.parent = tskbar; - if (j == server.desktop) - tskbar->bar_name.area.bg = panel->g_taskbar.background_name[TASKBAR_ACTIVE]; - else - tskbar->bar_name.area.bg = panel->g_taskbar.background_name[TASKBAR_NORMAL]; - tskbar->area.list = g_slist_append(tskbar->area.list, &tskbar->bar_name); - } } init_taskbarname_panel(panel); } @@ -352,6 +344,10 @@ void set_taskbar_state(Taskbar *tskbar, int state) { tskbar->area.bg = panel1[0].g_taskbar.background[state]; tskbar->area.pix = tskbar->state_pix[state]; + if (taskbarname_enabled) { + tskbar->bar_name.area.bg = panel1[0].g_taskbar.background_name[state]; + tskbar->bar_name.area.pix = tskbar->bar_name.state_pix[state]; + } if (panel_mode != MULTI_DESKTOP) { if (state == TASKBAR_NORMAL) tskbar->area.on_screen = 0; @@ -361,6 +357,8 @@ void set_taskbar_state(Taskbar *tskbar, int state) if (tskbar->area.on_screen == 1) { if (tskbar->state_pix[state] == 0) tskbar->area.redraw = 1; + if (taskbarname_enabled && tskbar->bar_name.state_pix[state] == 0) + tskbar->bar_name.area.redraw = 1; if (panel_mode == MULTI_DESKTOP && panel1[0].g_taskbar.background[TASKBAR_NORMAL] != panel1[0].g_taskbar.background[TASKBAR_ACTIVE]) { GSList *l = tskbar->area.list; if (taskbarname_enabled) l = l->next;