diff --git a/src/plugins/fallapart/fallapart.cpp b/src/plugins/fallapart/fallapart.cpp index e8d7fd513c..7fae1cf09d 100644 --- a/src/plugins/fallapart/fallapart.cpp +++ b/src/plugins/fallapart/fallapart.cpp @@ -15,6 +15,12 @@ Q_LOGGING_CATEGORY(KWIN_FALLAPART, "kwin_effect_fallapart", QtWarningMsg) +static const QSet s_blacklist{ + // Spectacle needs to be blacklisted in order to stay out of its own screenshots. + QStringLiteral("spectacle spectacle"), // x11 + QStringLiteral("spectacle org.kde.spectacle"), // wayland +}; + namespace KWin { @@ -170,6 +176,9 @@ void FallApartEffect::slotWindowClosed(EffectWindow *c) if (!c->isVisible()) { return; } + if (s_blacklist.contains(c->windowClass())) { + return; + } const void *e = c->data(WindowClosedGrabRole).value(); if (e && e != this) { return;