D8956: Implement geometry update blocking in ShellClient
This revision was automatically updated to reflect the committed changes. Closed by commit R108:a8be959b8f62: Implement geometry update blocking in ShellClient (authored by graesslin). Restricted Application edited projects, added Plasma; removed KWin. REPOSITORY R108 KWin CHANGES SINCE LAST UPDATE https://phabricator.kde.org/D8956?vs=22772=23440 REVISION DETAIL https://phabricator.kde.org/D8956 AFFECTED FILES shell_client.cpp To: graesslin, #plasma, #kwin, davidedmundson Cc: davidedmundson, plasma-devel, kwin, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart
D8956: Implement geometry update blocking in ShellClient
davidedmundson accepted this revision. davidedmundson added a comment. This revision is now accepted and ready to land. Restricted Application edited projects, added KWin; removed Plasma. not really an expert here in the geometry stuff, but it looks in line with the X code. REPOSITORY R108 KWin BRANCH geometry-update-blocker-shell-client REVISION DETAIL https://phabricator.kde.org/D8956 To: graesslin, #plasma, #kwin, davidedmundson Cc: davidedmundson, plasma-devel, kwin, bwowk, ZrenBot, progwolff, lesliezhai, ali-mohamed, hardening, jensreuterberg, abetts, sebas, apol, mart
D8956: Implement geometry update blocking in ShellClient
graesslin added a comment. Restricted Application edited projects, added Plasma; removed KWin. ping REPOSITORY R108 KWin REVISION DETAIL https://phabricator.kde.org/D8956 To: graesslin, #plasma, #kwin Cc: plasma-devel, kwin, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart
D8956: Implement geometry update blocking in ShellClient
graesslin created this revision. graesslin added reviewers: Plasma, KWin. Restricted Application added a project: KWin. Restricted Application added subscribers: kwin, plasma-devel. REVISION SUMMARY Commit https://phabricator.kde.org/R108:188491d3922180f1e1bba8fa2cd3fd2aa4a527c0 introduced a regression in ShellClient and broke the QuickTiling test - sorry about that. This change fixes the failing test. The main reason was a slight change in semantics of setGeometry. But the real problem is/was that the geometry update blocking is not supported in ShellClient. This change brings in the checks from Client to ShellClient, thus that the geometry is properly blocked and when unblocked the geometry is updated correctly or a request is sent. What makes it rather difficult is that the geometry update blocker operates on an updated geom while ShellClient::setGeometry needs to compare to the original geom to determine whether a direct update or a request is required. Thanks to supporting geometry update blocking the changeMaximize calls are adjusted to use setGeometry instead of requestingGeometry directly. Overall this is an important improvement and might also allow us to no longer require the special RequestGeometryBlocker in ShellClient. TEST PLAN Tests pass REPOSITORY R108 KWin BRANCH geometry-update-blocker-shell-client REVISION DETAIL https://phabricator.kde.org/D8956 AFFECTED FILES shell_client.cpp To: graesslin, #plasma, #kwin Cc: plasma-devel, kwin, bwowk, ZrenBot, progwolff, lesliezhai, ali-mohamed, hardening, jensreuterberg, abetts, sebas, apol, mart