diff --git a/effects.cpp b/effects.cpp index 6845b748e4..986f7a4802 100644 --- a/effects.cpp +++ b/effects.cpp @@ -131,6 +131,7 @@ EffectsHandlerImpl::EffectsHandlerImpl(Compositor *compositor, Scene *scene) connect(ws, SIGNAL(activityAdded(QString)), SIGNAL(activityAdded(QString))); connect(ws, SIGNAL(activityRemoved(QString)), SIGNAL(activityRemoved(QString))); connect(ws, SIGNAL(currentActivityChanged(QString)), SIGNAL(currentActivityChanged(QString))); + connect(ws, SIGNAL(stackingOrderChanged()), SIGNAL(stackingOrderChanged())); #ifdef KWIN_BUILD_TABBOX connect(ws->tabBox(), SIGNAL(tabBoxAdded(int)), SIGNAL(tabBoxAdded(int))); connect(ws->tabBox(), SIGNAL(tabBoxUpdated()), SIGNAL(tabBoxUpdated())); diff --git a/layers.cpp b/layers.cpp index 05b3d6dd0a..8d6bf41601 100644 --- a/layers.cpp +++ b/layers.cpp @@ -131,6 +131,7 @@ void Workspace::updateStackingOrder(bool propagate_new_clients) #endif if (changed || propagate_new_clients) { propagateClients(propagate_new_clients); + emit stackingOrderChanged(); if (m_compositor) { m_compositor->addRepaintFull(); } diff --git a/libkwineffects/kwineffects.h b/libkwineffects/kwineffects.h index 423cfd1140..f4de5d2bc7 100644 --- a/libkwineffects/kwineffects.h +++ b/libkwineffects/kwineffects.h @@ -1157,6 +1157,13 @@ Q_SIGNALS: */ void activityRemoved(const QString &id); + /** + * This signels is emitted when ever the stacking order is change, ie. a window is risen + * or lowered + * @since 4.10 + */ + void stackingOrderChanged(); + protected: QVector< EffectPair > loaded_effects; QHash< QString, KLibrary* > effect_libraries; diff --git a/workspace.h b/workspace.h index b26725d0af..203dd344c3 100644 --- a/workspace.h +++ b/workspace.h @@ -569,6 +569,11 @@ signals: * @param id id of the removed activity */ void activityRemoved(const QString &id); + /** + * This signels is emitted when ever the stacking order is change, ie. a window is risen + * or lowered + */ + void stackingOrderChanged(); private: void init();