diff --git a/events.cpp b/events.cpp index aa03c0c082..bb2ed83e27 100644 --- a/events.cpp +++ b/events.cpp @@ -476,7 +476,10 @@ bool Workspace::workspaceEvent( XEvent * e ) break; case VisibilityNotify: if( compositing() && overlay != None && e->xvisibility.window == overlay ) + { overlay_visible = ( e->xvisibility.state != VisibilityFullyObscured ); + addRepaintFull(); + } break; default: if( e->type == Extensions::randrNotifyEvent() && Extensions::randrAvailable() ) diff --git a/workspace.cpp b/workspace.cpp index 2499473264..e4b5a5734f 100644 --- a/workspace.cpp +++ b/workspace.cpp @@ -1041,6 +1041,7 @@ void Workspace::slotReconfigure() setupCompositing(); if( effects ) // setupCompositing() may fail effects->reconfigure(); + addRepaintFull(); } else finishCompositing();