D15135: [wayland] Syncronise pending geometry with acked configure requests

David Edmundson <[email protected]>
Newsgroups gmane.comp.kde.devel.kwin
Message-ID <[email protected]>
davidedmundson created this revision.
davidedmundson added a reviewer: KWin.
Herald added a project: KWin.
Herald added a subscriber: kwin.
davidedmundson requested review of this revision.

REVISION SUMMARY
  When we want to change a client's size and position together we have to
  request the client becomes a new size and only then move the window to
  the new location.
  
  Currently we process the new position the next time the buffer updates,
  but with no guarantee that it has actually tried to resize/whatever yet.
  The client could be providing a new buffer just because the contents
  have changed.
  
  XDGShell has an acked serial designed to keep everything precisely in
  sync. A surface represents the last configure that was acked.
  
  This patch tracks the pending position for each configure and applies it
  accordingly.
  
  WL_shell does not have this mechanism, so behaviour is kept the same as
  before.
  
  ----
  
  This is a pre-requisite to syncing maximisedState/isFullScreen with the
  configure request.
  
  Potentially we could remove the isWaitingForResizeSync checks when
  resizing and it will still resize smoothly.

TEST PLAN
  Relevant unit test still passes with the client responding
  Resized a window from the left edge with WLShell and XDGShellV6

REPOSITORY
  R108 KWin

BRANCH
  master

REVISION DETAIL
  https://phabricator.kde.org/D15135

AFFECTED FILES
  autotests/integration/shell_client_test.cpp
  shell_client.cpp
  shell_client.h

To: davidedmundson, #kwin
Cc: kwin, mkulinski, ragreen, jackyalcine, Pitel, iodelay, bwowk, ZrenBot, lesliezhai, ali-mohamed, hardening, jensreuterberg, abetts, sebas, apol, mart
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.