X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Fpanel.c;h=cea2923ff834ab8e8b4f3619156ff7672d98364e;hb=87acd48b92031b378887ea8b7ea9fa54aea8fa25;hp=9b52aae3768f3b4e8d848a6b3adc09b0fe3ae271;hpb=b984f3f3b26d76ba6bf7488ac9737cd69413031c;p=chaz%2Ftint2 diff --git a/src/panel.c b/src/panel.c index 9b52aae..cea2923 100644 --- a/src/panel.c +++ b/src/panel.c @@ -105,6 +105,8 @@ void cleanup_panel() if (!panel1) return; cleanup_taskbar(); + // taskbarname_font_desc freed here because cleanup_taskbarname() called on _NET_NUMBER_OF_DESKTOPS + if (taskbarname_font_desc) pango_font_description_free(taskbarname_font_desc); int i; Panel *p; @@ -180,8 +182,9 @@ void init_panel() if (panel_items_order[k] == 'B') init_battery_panel(p); #endif - if (panel_items_order[k] == 'S') { + if (panel_items_order[k] == 'S' && i==0) { // TODO : check systray is only on 1 panel + // at the moment only on panel1[0] allowed init_systray_panel(p); refresh_systray = 1; } @@ -196,7 +199,7 @@ void init_panel() p->main_win = XCreateWindow(server.dsp, server.root_win, p->posx, p->posy, p->area.width, p->area.height, 0, server.depth, InputOutput, server.visual, mask, &att); long event_mask = ExposureMask|ButtonPressMask|ButtonReleaseMask|ButtonMotionMask; - if (g_tooltip.enabled) + if (p->g_task.tooltip_enabled || p->clock.area._get_tooltip_text) event_mask |= PointerMotionMask|LeaveWindowMask; if (panel_autohide) event_mask |= LeaveWindowMask|EnterWindowMask; @@ -395,8 +398,9 @@ void set_panel_items_order(Panel *p) if (panel_items_order[k] == 'B') p->area.list = g_slist_append(p->area.list, &p->battery); #endif - if (panel_items_order[k] == 'S') { + if (panel_items_order[k] == 'S' && p == panel1) { // TODO : check systray is only on 1 panel + // at the moment only on panel1[0] allowed p->area.list = g_slist_append(p->area.list, &systray); } if (panel_items_order[k] == 'C') @@ -535,8 +539,11 @@ void set_panel_background(Panel *p) for (k=0; kstate_pix[k]) XFreePixmap(server.dsp, tskbar->state_pix[k]); tskbar->state_pix[k] = 0; + if (tskbar->bar_name.state_pix[k]) XFreePixmap(server.dsp, tskbar->bar_name.state_pix[k]); + tskbar->bar_name.state_pix[k] = 0; } tskbar->area.pix = 0; + tskbar->bar_name.area.pix = 0; l0 = tskbar->area.list; if (taskbarname_enabled) l0 = l0->next; for (; l0 ; l0 = l0->next) {