From 5f2ac42c8d842e3592e828b9a9f736e84144be64 Mon Sep 17 00:00:00 2001 From: Thierry Lorthiois Date: Fri, 22 Jan 2010 19:49:24 +0000 Subject: [PATCH] fixed : redraw all task state when background changed --- src/panel.c | 9 +++++++++ src/systray/systraybar.c | 10 ++++++++++ 2 files changed, 19 insertions(+) diff --git a/src/panel.c b/src/panel.c index 0c5c383..e0390c1 100644 --- a/src/panel.c +++ b/src/panel.c @@ -596,6 +596,15 @@ void set_panel_background(Panel *p) a = l0->data; set_redraw(a); } + // reset task 'state_pix' + int i; + Taskbar *tskbar; + for (i=0 ; i < p->nb_desktop ; i++) { + tskbar = &p->taskbar[i]; + for (l0 = tskbar->area.list; l0 ; l0 = l0->next) { + set_task_redraw((Task *)l0->data); + } + } } diff --git a/src/systray/systraybar.c b/src/systray/systraybar.c index a0c1f3c..8b613a6 100644 --- a/src/systray/systraybar.c +++ b/src/systray/systraybar.c @@ -345,7 +345,17 @@ gboolean add_icon(Window id) error = FALSE; XWindowAttributes attr; +/* GSList *l; + printf("add_icon\n"); + for (l = systray.list_icons; l ; l = l->next) { + traywin = (TrayWindow*)l->data; + //if (traywin->hide) continue; + + XGetWindowAttributes(server.dsp, traywin->tray_id, &attr); + printf(" icon %lx, depth %d, width %d, height %d\n", traywin->tray_id, attr.depth, attr.width, attr.height); + }*/ XGetWindowAttributes(server.dsp, id, &attr); + //printf("last icon %lx, depth %d, width %d, height %d\n", id, attr.depth, attr.width, attr.height); unsigned long mask = 0; XSetWindowAttributes set_attr; if (attr.depth != server.depth || systray.alpha != 100 || systray.brightness != 0 || systray.saturation != 0 ) { -- 2.44.0