diff --git a/effects.cpp b/effects.cpp --- a/effects.cpp +++ b/effects.cpp @@ -620,7 +620,11 @@ void EffectsHandlerImpl::setActiveFullScreenEffect(Effect* e) { + if (fullscreen_effect == e) { + return; + } fullscreen_effect = e; + emit activeFullScreenEffectChanged(); } Effect* EffectsHandlerImpl::activeFullScreenEffect() const diff --git a/libkwineffects/kwineffects.h b/libkwineffects/kwineffects.h --- a/libkwineffects/kwineffects.h +++ b/libkwineffects/kwineffects.h @@ -1695,6 +1695,15 @@ **/ void xcbConnectionChanged(); + /** + * This signal is emitted when active fullscreen effect changed. + * + * @see activeFullScreenEffect + * @see setActiveFullScreenEffect + * @since 5.14 + **/ + void activeFullScreenEffectChanged(); + protected: QVector< EffectPair > loaded_effects; //QHash< QString, EffectFactory* > effect_factories;