From ea75c094a90f60eafaa34b6ae885aa93871036a1 Mon Sep 17 00:00:00 2001 From: Noah Davis Date: Fri, 3 Nov 2023 14:50:04 -0400 Subject: [PATCH] plugins/fallapart: Blacklist spectacle Spectacle needs to be blacklisted in order to stay out of its own screenshots. BUG: 473565 --- src/plugins/fallapart/fallapart.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) 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;