Summary: | Wine systray icons does not respond to clicks with multi monitor | ||
---|---|---|---|
Product: | [Plasma] plasmashell | Reporter: | Eliphas <kde> |
Component: | XembedSNIProxy | Assignee: | Plasma Bugs List <plasma-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | kde, materka, nate |
Priority: | NOR | ||
Version: | master | ||
Target Milestone: | 1.0 | ||
Platform: | Neon | ||
OS: | Linux | ||
Latest Commit: | https://commits.kde.org/plasma-workspace/21a89dd6e1aed60a3dc8cc20009174ea0a6a6f1e | Version Fixed In: | 5.18.0 |
Sentry Crash Report: | |||
Attachments: | Monitor layouts |
Description
Eliphas
2019-11-29 20:21:19 UTC
Looks like the bug only occurs when first X,Y = 0,0 is not in primary monitor. When second screen are up or left of the primary, the 0,0 is either "floating up/left" or in the second screen. Thank you for the very detailed report, the attached picture is really helpful! I think I know where the problem is. This is specific to Wine which makes it more difficult to fix. I tested using XChat and icon is working properly. When (0,0) coordinates are not in the boundaries of the primary screen then Wine behaves strangely. I need to investigate it further to understand what exactly is happening. This is a Wine bug, I reported it: https://bugs.winehq.org/show_bug.cgi?id=48269 I found a workaround, I will prepare a patch. I found a proper solution (Wine bug should be fixed anyway): https://phabricator.kde.org/D26079 Git commit 24f75b2fda71c76542452da8c6ea39b39a5b4c4c by Konrad Materka. Committed on 18/12/2019 at 13:03. Pushed by kmaterka into branch 'master'. [XembedSNIProxy] Redirect and handle structure requests on the embedded window. Summary: When the window is embedded, it should not request position change. Sometimes applications are misbehaving and ignore this constrain. We need to capture all structure requests (position or size change) and ignore them. In other words, we must be a window manager for the embedded window. Test Plan: 0. You need multiples screens to test this 1. Configure screens so that (0,0) is not on the primary screen 2. Run any Windows app with tray icon using Wine 3. Left click event should work correctly Reviewers: #plasma_workspaces, #plasma, davidedmundson Reviewed By: #plasma_workspaces, #plasma, davidedmundson Subscribers: plasma-devel Tags: #plasma Differential Revision: https://phabricator.kde.org/D26079 M +7 -0 xembed-sni-proxy/fdoselectionmanager.cpp M +25 -13 xembed-sni-proxy/sniproxy.cpp M +1 -0 xembed-sni-proxy/sniproxy.h https://commits.kde.org/plasma-workspace/24f75b2fda71c76542452da8c6ea39b39a5b4c4c Git commit 21a89dd6e1aed60a3dc8cc20009174ea0a6a6f1e by Konrad Materka. Committed on 19/12/2019 at 12:45. Pushed by kmaterka into branch 'master'. [XembedSNIProxy] Regression - really resize instead of notifying only. Summary: Regression introduced in previous commit, review D25777. Tray icons should have an ability to resize. If not, icons smaller than 32x32 will render incorectly. In addition, do not notify using xcb_configure_notify_event_t, in some cases (Wine) it messes up the event handling. FIXED-IN: 5.18.0 Test Plan: Tested with keepass2, keepassx, pidgin, xchat, hexchat, tuxguitar, liferea, wine tflash.exe, workrave, stardict Reviewers: #plasma_workspaces, #plasma, davidedmundson Reviewed By: #plasma_workspaces, #plasma, davidedmundson Subscribers: plasma-devel Tags: #plasma Differential Revision: https://phabricator.kde.org/D26088 M +4 -2 xembed-sni-proxy/fdoselectionmanager.cpp M +13 -18 xembed-sni-proxy/sniproxy.cpp M +1 -1 xembed-sni-proxy/sniproxy.h https://commits.kde.org/plasma-workspace/21a89dd6e1aed60a3dc8cc20009174ea0a6a6f1e Hello! Should it be released in the unstable or testing repos or only when the version changes to 5.18? Tried now on current testing 5.17.4+p18.04+git20191221 and unstable 5.17.4+p18.04+git20191224 with same results. Thank you! Changes will land in version 5.18, beta (5.17.90) should be released on 2020-01-16. This fix was to big to be included in 5.17.5. AFAIK there are no pre-build packages from master branch. |