change systray code. fixed issue 91.

git-svn-id: http://tint2.googlecode.com/svn/trunk@118 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
This commit is contained in:
lorthiois@bbsoft.fr
2009-06-19 21:08:34 +00:00
parent 9efff62930
commit 533ab08523
8 changed files with 41 additions and 91 deletions

View File

@@ -359,7 +359,6 @@ void event_property_notify (XEvent *e)
for (i=0 ; i < nb_panel ; i++) {
set_panel_background(&panel1[i]);
}
refresh_systray();
panel_refresh = 1;
}
}
@@ -642,11 +641,21 @@ load_config:
for (i=0 ; i < nb_panel ; i++) {
panel = &panel1[i];
if (panel == systray.area.panel)
XSetWindowBackgroundPixmap (server.dsp, panel->main_win, None);
if (panel->temp_pmap) XFreePixmap(server.dsp, panel->temp_pmap);
panel->temp_pmap = XCreatePixmap(server.dsp, server.root_win, panel->area.width, panel->area.height, server.depth);
refresh(&panel->area);
XCopyArea(server.dsp, panel->temp_pmap, panel->main_win, server.gc, 0, 0, panel->area.width, panel->area.height, 0, 0);
if (panel == systray.area.panel) {
// tint2 doen't draw systray icons. it just redraw background.
XSetWindowBackgroundPixmap (server.dsp, panel->main_win, panel->temp_pmap);
// force icon's refresh
refresh_systray();
}
}
XFlush (server.dsp);
}