D15496: [effects/cubeslide] Fix "sticky" windows detection on Wayland
Igor Poboiko <[email protected]>
| Newsgroups | gmane.comp.kde.devel.kwin |
|---|---|
| Message-ID | <[email protected]> |
poboiko created this revision. poboiko added a reviewer: KWin. poboiko added a project: KWin. Herald added a subscriber: kwin. poboiko requested review of this revision. REVISION SUMMARY This is second part of D15175: [effects/cubeslide] Fix several cubeslide issues <https://phabricator.kde.org/D15175>, and aimed at fixing Bug 390366 <https://bugs.kde.org/show_bug.cgi?id=390366>. The problem was that effect relied on isManaged() to detect OSDs and notifications, that should be painted on top of the cube. On Wayland, the desktop window itself is not managed, which made it "sticky". Instead we use: - isDesktop() check to explicitly make desktop non-sticky - isSpecialWindow() check to explicitly make notifications and OSDs sticky - acceptsFocus() check is currently needed on Wayland, as isSpecialWindow() doesn't return "true" for OSDs on Wayland (to be removed in the future); thus we rely on acceptsFocus() to find "ordinary" windows. BUG: 390366 FIXED-IN: 5.1X.X REPOSITORY R108 KWin REVISION DETAIL https://phabricator.kde.org/D15496 AFFECTED FILES effects/cube/cubeslide.cpp To: poboiko, #kwin Cc: kwin, mkulinski, ragreen, jackyalcine, Pitel, iodelay, bwowk, ZrenBot, lesliezhai, ali-mohamed, hardening, jensreuterberg, abetts, sebas, apol, mart