From: Andreas Fink Date: Tue, 12 Jan 2010 08:24:24 +0000 (+0000) Subject: *fix* use XSetWindowBackground in hidden mode (otherwise the painting is deferred) X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Ftint2;a=commitdiff_plain;h=cfd8016c95b06037d3a68448f31126b662a64143 *fix* use XSetWindowBackground in hidden mode (otherwise the painting is deferred) --- diff --git a/src/panel.c b/src/panel.c index c5597cb..9711ebc 100644 --- a/src/panel.c +++ b/src/panel.c @@ -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) diff --git a/src/tint.c b/src/tint.c index 609a8d7..a8cc19d 100644 --- a/src/tint.c +++ b/src/tint.c @@ -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);