Block geometry updates on move resize finish and don't configure xdg shell surfaces while blocked
ClosedPublic

Authored by graesslin on Jan 28 2018, 9:36 AM.

Details

Summary

We send out too many configure requests when finishing move resize which
also triggers quick tiling. This change addresses the problem of the too
many configure requests by making the configure method check whether
geometry updates are blocked. And to make this work properly for the end
of finish move resize the complete method is wrapped in a geometry
update blocker.

Test Plan

Quick tiling test passes, both Wayland and X11 windows are
quick tiled correctly.

Diff Detail

Repository
R108 KWin
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
graesslin created this revision.Jan 28 2018, 9:36 AM
Restricted Application added a project: KWin. · View Herald TranscriptJan 28 2018, 9:36 AM
Restricted Application added subscribers: kwin, plasma-devel. · View Herald Transcript
graesslin requested review of this revision.Jan 28 2018, 9:36 AM
Restricted Application edited projects, added Plasma; removed KWin. · View Herald TranscriptJan 28 2018, 9:36 AM
jgrulich accepted this revision.Jan 29 2018, 12:29 PM

It's working and the patch looks good to me.

This revision is now accepted and ready to land.Jan 29 2018, 12:29 PM
Restricted Application edited projects, added KWin; removed Plasma. · View Herald TranscriptJan 29 2018, 12:29 PM
Restricted Application edited projects, added Plasma; removed KWin. · View Herald TranscriptJan 30 2018, 2:05 AM
This revision was automatically updated to reflect the committed changes.
Restricted Application edited projects, added KWin; removed Plasma. · View Herald TranscriptFeb 4 2018, 2:02 PM
zzag added a subscriber: zzag.Jan 30 2019, 9:01 PM

We have to send a configure event when the resize is complete. So far it looks like this change tries to prevent that; when clientFinishUserMovedResized is emitted, geometry updates are still blocked and there is no RequestGeometryBlocker around.