*fix* use XSetWindowBackground in hidden mode (otherwise the painting is deferred)

git-svn-id: http://tint2.googlecode.com/svn/trunk@341 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
This commit is contained in:
Andreas.Fink85 2010-01-12 08:24:24 +00:00
parent 9ccb623f90
commit 37d2086b37
2 changed files with 5 additions and 3 deletions

View file

@ -730,7 +730,7 @@ void autohide_show(void* p)
if (panel_strut_policy == STRUT_FOLLOW_SIZE)
update_strut(p);
XMapSubwindows(server.dsp, panel->main_win);
XMapSubwindows(server.dsp, panel->main_win); // systray windows
if (panel_horizontal) {
if (panel_position & TOP)
XResizeWindow(server.dsp, panel->main_win, panel->area.width, panel->area.height);
@ -755,7 +755,7 @@ void autohide_hide(void* p)
if (panel_strut_policy == STRUT_FOLLOW_SIZE)
update_strut(p);
XUnmapSubwindows(server.dsp, panel->main_win);
XUnmapSubwindows(server.dsp, panel->main_win); // systray windows
int diff = (panel_horizontal ? panel->area.height : panel->area.width) - panel_autohide_height;
if (panel_horizontal) {
if (panel_position & TOP)

View file

@ -679,8 +679,10 @@ int main (int argc, char *argv[])
for (i=0 ; i < nb_panel ; i++) {
panel = &panel1[i];
if (panel->is_hidden)
if (panel->is_hidden) {
XCopyArea(server.dsp, panel->hidden_pixmap, panel->main_win, server.gc, 0, 0, panel->hidden_width, panel->hidden_height, 0, 0);
XSetWindowBackgroundPixmap(server.dsp, panel->main_win, panel->hidden_pixmap);
}
else {
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);