kwin/autotests
Vlad Zahorodnii 31ea780d79 [wayland] Rework xdg-shell implementation
Summary:
This change splits the XdgShellClient class to better match existing
abstractions in the xdg-shell protocol and fix a few issues related to
sending configure events.

In the new client classes, configure events are handled differently.
Instead of blocking configure events, we try to send them as late as
possible. Delaying configure events will let us merge changeMaximize()
for X11 clients and Wayland clients and it also fixes the bug where
we don't send the final configure event when user has finished resizing
a window.

Given that configure events are not sent immediately, XdgSurfaceClient
keeps the last requested frame geometry and the last requested client
geometry.

This patch doesn't intend to fix all issues in kwin's implementation of
the xdg-shell protocol. For example, we still handle surface unmapping
very poorly.

Test Plan: Tests pass.

Reviewers: #kwin

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D27861
2020-06-01 15:12:59 +03:00
..
drm Port away from deprecated headers 2019-07-09 23:59:07 +03:00
integration [wayland] Rework xdg-shell implementation 2020-06-01 15:12:59 +03:00
libinput Wayland: Allow to set a scroll Factor for input devices 2020-04-07 19:08:49 +02:00
libkwineffects [libkwineffects] Detect AMD Navi GPUs 2020-02-05 22:27:15 +02:00
libxrenderutils Cleanup style in CMakeLists.txt files 2019-09-17 16:03:05 +03:00
tabbox Revert "[kcm/effects] Clip ListView" 2020-02-22 11:53:59 +01:00
abstract_client.h Fix minor EBN issues 2018-08-29 21:02:16 +03:00
CMakeLists.txt Port KWin to KWaylandServer 2020-04-30 12:56:08 +02:00
fakeeffectplugin.cpp Run clang-tidy with modernize-use-override check 2019-07-22 20:03:22 +03:00
fakeeffectplugin.json PluginEffectLoader doesn't use KPluginTrader any more 2015-07-07 09:36:15 +02:00
fakeeffectplugin_version.cpp Run clang-tidy with modernize-use-override check 2019-07-22 20:03:22 +03:00
fakeeffectplugin_version.json PluginEffectLoader doesn't use KPluginTrader any more 2015-07-07 09:36:15 +02:00
mock_abstract_client.cpp Rename geometry property to frameGeometry 2019-10-02 11:46:37 +03:00
mock_abstract_client.h Rename geometry property to frameGeometry 2019-10-02 11:46:37 +03:00
mock_effectshandler.cpp Add a KSharedConfigPtr for kcminputrc to KWin::Application 2017-04-24 21:01:03 +02:00
mock_effectshandler.h Port KWin to KWaylandServer 2020-04-30 12:56:08 +02:00
mock_screens.cpp Warnings--: unused parameters 2015-06-12 17:17:21 +02:00
mock_screens.h Run clang-tidy with modernize-use-override check 2019-07-22 20:03:22 +03:00
mock_workspace.cpp Use more accurate name for Workspace::getMovingClient method 2019-04-22 11:12:22 +03:00
mock_workspace.h Rename Client to X11Client 2019-09-25 21:11:37 +03:00
mock_x11client.cpp Rename Client to X11Client 2019-09-25 21:11:37 +03:00
mock_x11client.h Rename Client to X11Client 2019-09-25 21:11:37 +03: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: Port QSignalSpies to new connect syntax 2019-07-29 22:59:12 +03:00
test_client_machine.cpp autotests: Port QSignalSpies to new connect syntax 2019-07-29 22:59:12 +03: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: Port QSignalSpies to new connect syntax 2019-07-29 22:59:12 +03:00
test_screen_edges.cpp Make it possible to have a separate cursor for the tablet 2020-04-03 01:16:45 +02:00
test_screen_paint_data.cpp Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
test_screens.cpp Make it possible to have a separate cursor for the tablet 2020-04-03 01:16:45 +02:00
test_scripted_effectloader.cpp Make it possible to have a separate cursor for the tablet 2020-04-03 01:16:45 +02:00
test_virtual_desktops.cpp autotests: Port QSignalSpies to new connect syntax 2019-07-29 22:59:12 +03:00
test_virtualkeyboard_dbus.cpp Run clang-tidy with modernize-use-override check 2019-07-22 20:03:22 +03:00
test_window_paint_data.cpp Port KWin to KWaylandServer 2020-04-30 12:56:08 +02:00
test_x11_timestamp_update.cpp Run clang-tidy with modernize-use-override check 2019-07-22 20:03:22 +03: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 Use more traditional doxygen style 2019-07-29 22:06:19 +03:00
testutils.h Use more traditional doxygen style 2019-07-29 22:06:19 +03:00
workspace.h [auto-tests] Add an initial test for Screens 2014-09-17 10:29:03 +02:00
x11client.h Rename Client to X11Client 2019-09-25 21:11:37 +03:00