| Summary: | User actions popup is not seen as a popup | ||
|---|---|---|---|
| Product: | [Plasma] kwin | Reporter: | Vlad Zahorodnii <vlad.zahorodnii> |
| Component: | wayland-generic | Assignee: | KWin default assignee <kwin-bugs-null> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | kde |
| Priority: | NOR | Flags: | mgraesslin:
Wayland+
mgraesslin: X11- mgraesslin: ReviewRequest+ |
| Version First Reported In: | git master | ||
| Target Milestone: | --- | ||
| Platform: | Compiled Sources | ||
| OS: | Linux | ||
| URL: | https://phabricator.kde.org/D17981 | ||
| Latest Commit: | https://commits.kde.org/kwin/6b3e55d6f515167e4c753788485043d831859c8b | Version Fixed/Implemented In: | |
| Sentry Crash Report: | |||
|
Description
Vlad Zahorodnii
2019-01-04 13:09:30 UTC
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. 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 |