SUMMARY This can "false-trigger" scale or glide effect. STEPS TO REPRODUCE 1. Enable Scale effect; 2. Open user actions popup. OBSERVED RESULT The popup is animated by the scale effect. EXPECTED RESULT The popup is not animated by the scale effect. SOFTWARE/OS VERSIONS KDE Plasma Version: 5.14.80 KDE Frameworks Version: 5.53 Qt Version: 5.12
That's going to be interesting to solve properly. wl_shell_surface.set_popup requires a parent. Sending a null value isn't allowed by the spec. Same if we move for XDGShell. xdg-foreign (in it's current form) doesn't help either. The only other option is having the QPA meddle with shellClient directly, which is rather messy.
It's an internal window. We can just access the QWindow.
That's not the issue. Qmenu is already a popup in the qwindow. But our qpa doesnt send this to the shell client.
Our ShellClient can access the QWindow to evaluate whether it's a popup. We don't need to go over the Wayland protocol.
See: https://phabricator.kde.org/D17981
Git commit 6b3e55d6f515167e4c753788485043d831859c8b by Martin Flöser. Committed on 05/01/2019 at 12:45. Pushed by graesslin into branch 'master'. Implement isPopupWindow for internal windows Summary: Just accessing Qt::Popup WindowFlag. Test Plan: Not tested for the described problematic case Reviewers: #kwin Subscribers: kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D17981 M +16 -0 autotests/integration/internal_window.cpp M +3 -0 shell_client.cpp https://commits.kde.org/kwin/6b3e55d6f515167e4c753788485043d831859c8b