*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
Andreas.Fink85 Andreas.Fink85@121b4492-b84c-0410-8b4c-0d4edfb3f3cc
2 files changed,
5 insertions(+),
3 deletions(-)
M
src/panel.c
→
src/panel.c
@@ -730,7 +730,7 @@ panel->is_hidden = 0;
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 @@ panel->is_hidden = 1;
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)
M
src/tint.c
→
src/tint.c
@@ -679,8 +679,10 @@ }
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);