Summary: | Client unresponsive when geometry changes if both signals are connected | ||
---|---|---|---|
Product: | [Plasma] kwin | Reporter: | LinG <lingtjien> |
Component: | scripting | Assignee: | KWin default assignee <kwin-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | nate |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Arch Linux | ||
OS: | Linux | ||
Latest Commit: | https://invent.kde.org/plasma/kwin/commit/dfa08f22598582753638cfe6016232bc3b62edb9 | Version Fixed In: | 5.20 |
Sentry Crash Report: |
Description
LinG
2020-09-26 10:51:24 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/298 Git commit 6f153552dab35f46bc88c0b736a16a47cc3297d4 by Vlad Zahorodnii. Committed on 29/09/2020 at 13:55. Pushed by vladz into branch 'master'. Allow calling setFrameGeometry() while the client is being resized Currently, if some script attempts to resize a window while it's being interactively resized, the corresponding change won't be propagated to the X server. The main reason for that is that we don't want to configure the frame window, the wrapper window, and the client window twice. However, since Xcb::Window keeps track of the last configured geometry, we can adjust X11Client::updateServerGeometry() so it only configures windows that have mismatching geometry. By doing so, the setFrameGeometry() function can be called by scripts even when the associated X11 window is being interactively resized. Note that this bug doesn't affect Wayland windows. M +9 -6 x11client.cpp https://invent.kde.org/plasma/kwin/commit/6f153552dab35f46bc88c0b736a16a47cc3297d4 Git commit dfa08f22598582753638cfe6016232bc3b62edb9 by Vlad Zahorodnii. Committed on 29/09/2020 at 13:56. Pushed by vladz into branch 'Plasma/5.20'. Allow calling setFrameGeometry() while the client is being resized Currently, if some script attempts to resize a window while it's being interactively resized, the corresponding change won't be propagated to the X server. The main reason for that is that we don't want to configure the frame window, the wrapper window, and the client window twice. However, since Xcb::Window keeps track of the last configured geometry, we can adjust X11Client::updateServerGeometry() so it only configures windows that have mismatching geometry. By doing so, the setFrameGeometry() function can be called by scripts even when the associated X11 window is being interactively resized. Note that this bug doesn't affect Wayland windows. (cherry picked from commit 6f153552dab35f46bc88c0b736a16a47cc3297d4) M +9 -6 x11client.cpp https://invent.kde.org/plasma/kwin/commit/dfa08f22598582753638cfe6016232bc3b62edb9 |