*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:
parent
9ccb623f90
commit
37d2086b37
2 changed files with 5 additions and 3 deletions
|
@ -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)
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in a new issue