kwin/autotests
David Edmundson 65b8ba1770 [wayland] Syncronise pending geometry with acked configure requests
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

Reviewers: #kwin, romangg

Reviewed By: #kwin, romangg

Subscribers: romangg, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D15135
2018-10-05 17:35:23 +03:00
..
drm [autotests] Support new way to run the tests without need to install 2017-11-21 20:34:52 +01:00
integration [wayland] Syncronise pending geometry with acked configure requests 2018-10-05 17:35:23 +03:00
libinput Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
libkwineffects [libkwineffects] Add TimeLine helper 2018-06-30 09:58:11 +03:00
libxrenderutils Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
tabbox Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
abstract_client.h Fix minor EBN issues 2018-08-29 21:02:16 +03:00
client.h
CMakeLists.txt Require libinput and udev 2018-02-04 15:00:42 +01:00
fakeeffectplugin.cpp
fakeeffectplugin.json
fakeeffectplugin_version.cpp
fakeeffectplugin_version.json
mock_abstract_client.cpp Fix switch desktop through edge when moving window 2017-06-20 06:57:33 +02:00
mock_abstract_client.h Fix switch desktop through edge when moving window 2017-06-20 06:57:33 +02:00
mock_client.cpp Fix switch desktop through edge when moving window 2017-06-20 06:57:33 +02:00
mock_client.h Fix switch desktop through edge when moving window 2017-06-20 06:57:33 +02:00
mock_effectshandler.cpp Add a KSharedConfigPtr for kcminputrc to KWin::Application 2017-04-24 21:01:03 +02:00
mock_effectshandler.h [libkwineffects] Expose getting/setting activeFullScript to scripted effects 2018-10-04 00:57:44 +03:00
mock_screens.cpp
mock_screens.h
mock_workspace.cpp
mock_workspace.h Move XRandR event filter into XRandRScreens 2017-09-12 18:53:08 +02:00
onscreennotificationtest.cpp Fade out OnScreenNotification when moving with the mouse over it 2017-01-04 18:04:15 +01:00
onscreennotificationtest.h Introduce a KWin internal on-screen-notification service 2016-12-21 19:43:49 +01:00
opengl_context_attribute_builder_test.cpp Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
test_builtin_effectloader.cpp [autotests] Make lifespan of EffectsHandler outlive Effect 2018-08-30 14:57:13 +01:00
test_client_machine.cpp Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
test_gbm_surface.cpp Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
test_gestures.cpp Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
test_plugin_effectloader.cpp [autotests] Make lifespan of EffectsHandler outlive Effect 2018-08-30 14:57:13 +01:00
test_screen_edges.cpp Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
test_screen_paint_data.cpp Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
test_screens.cpp Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
test_scripted_effectloader.cpp [autotests] Make lifespan of EffectsHandler outlive Effect 2018-08-30 14:57:13 +01:00
test_virtual_desktops.cpp Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
test_virtualkeyboard_dbus.cpp Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
test_window_paint_data.cpp Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
test_x11_timestamp_update.cpp [autotests] Support new way to run the tests without need to install 2017-11-21 20:34:52 +01:00
test_xcb_size_hints.cpp Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
test_xcb_window.cpp Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
test_xcb_wrapper.cpp Fix minor EBN issues 2018-08-29 21:02:16 +03:00
test_xkb.cpp Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
test_xrandr_screens.cpp Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
testutils.h [autotests] Fix unused function warnings 2017-07-29 18:47:58 +02:00
workspace.h