tell other window effects to ignore dashboard window

svn path=/trunk/KDE/kdebase/workspace/; revision=1162055
This commit is contained in:
Andreas Demmer 2010-08-11 09:25:25 +00:00
parent 10b30a3ba2
commit c9baf9190d
2 changed files with 28 additions and 0 deletions

View file

@ -133,4 +133,30 @@ void DashboardEffect::windowActivated( EffectWindow *w )
}
}
void DashboardEffect::windowAdded( EffectWindow* w )
{
propertyNotify( w, atom );
if( isDashboard( w ) )
{
// Tell other windowAdded() effects to ignore this window
w->setData( WindowAddedGrabRole, QVariant::fromValue( static_cast<void*>( this )));
w->addRepaintFull();
}
}
void DashboardEffect::windowClosed( EffectWindow* w )
{
propertyNotify( w, atom );
if( isDashboard( w ) )
{
// Tell other windowClosed() effects to ignore this window
w->setData( WindowClosedGrabRole, QVariant::fromValue( static_cast<void*>( this )));
w->addRepaintFull();
}
}
} // namespace

View file

@ -43,6 +43,8 @@ class DashboardEffect : public KWin::Effect
virtual void reconfigure( ReconfigureFlags );
virtual void unpropagate();
virtual void windowActivated( EffectWindow *w );
virtual void windowAdded( EffectWindow* c );
virtual void windowClosed( EffectWindow* c );
private:
bool blur;
bool isDashboard( EffectWindow* w );