diff --git a/effects/cube/cubeslide.cpp b/effects/cube/cubeslide.cpp --- a/effects/cube/cubeslide.cpp +++ b/effects/cube/cubeslide.cpp @@ -536,10 +536,20 @@ return !dontSlidePanels; } if (w->isOnAllDesktops()) { - if (!w->isManaged()) { + if (w->isDesktop()) { + return true; + } + // XXX: We want to always animate OSDs, but only animate ordinary windows if dontSlideStickyWindows is checked + // Apparently, acceptsFocus() is the only way how OSD differs from ordinary window on Wayland + // For X11 the window is marked as special. So it should work + // (borrowed from FlipSwitch::isSelectableWindow()) + if (w->isSpecialWindow()) { return false; } - return !dontSlideStickyWindows; + if (w->acceptsFocus()) { + return !dontSlideStickyWindows; + } + return false; } return true; }