kwin/autotests/integration
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
..
data
effects Make it possible to have a separate cursor for the tablet 2020-04-03 01:16:45 +02:00
fakes Update my email address 2020-01-14 18:17:18 +02:00
helper Run clang-tidy with modernize-use-override check 2019-07-22 20:03:22 +03:00
scripting Make it possible to have a separate cursor for the tablet 2020-04-03 01:16:45 +02:00
activation_test.cpp Make it possible to have a separate cursor for the tablet 2020-04-03 01:16:45 +02:00
activities_test.cpp Make it possible to have a separate cursor for the tablet 2020-04-03 01:16:45 +02:00
buffer_size_change_test.cpp Use AbstractClient instead of XdgShellClient wherever possible 2020-03-04 09:57:13 +02:00
CMakeLists.txt Reduce the amount of objects that are compiled several times 2020-04-02 00:41:55 +02:00
colorcorrect_nightcolor_test.cpp [autotests] Fix failing autotests 2019-08-28 19:20:50 +03:00
dbus_interface_test.cpp [wayland] Drop support for legacy xdg-shell-v6 protocol 2020-03-18 14:38:58 +02:00
debug_console_test.cpp [wayland] Drop support for legacy xdg-shell-v6 protocol 2020-03-18 14:38:58 +02:00
decoration_input_test.cpp Make it possible to have a separate cursor for the tablet 2020-04-03 01:16:45 +02:00
desktop_window_x11_test.cpp Make it possible to have a separate cursor for the tablet 2020-04-03 01:16:45 +02:00
dont_crash_aurorae_destroy_deco.cpp Make it possible to have a separate cursor for the tablet 2020-04-03 01:16:45 +02:00
dont_crash_cancel_animation.cpp Use AbstractClient instead of XdgShellClient wherever possible 2020-03-04 09:57:13 +02:00
dont_crash_cursor_physical_size_empty.cpp Port KWin to KWaylandServer 2020-04-30 12:56:08 +02:00
dont_crash_empty_deco.cpp Make it possible to have a separate cursor for the tablet 2020-04-03 01:16:45 +02:00
dont_crash_glxgears.cpp Rename Client to X11Client 2019-09-25 21:11:37 +03:00
dont_crash_no_border.cpp Make it possible to have a separate cursor for the tablet 2020-04-03 01:16:45 +02:00
dont_crash_reinitialize_compositor.cpp Use AbstractClient instead of XdgShellClient wherever possible 2020-03-04 09:57:13 +02:00
dont_crash_useractions_menu.cpp Make it possible to have a separate cursor for the tablet 2020-04-03 01:16:45 +02:00
generic_scene_opengl_test.cpp Use AbstractClient instead of XdgShellClient wherever possible 2020-03-04 09:57:13 +02:00
generic_scene_opengl_test.h
globalshortcuts_test.cpp Port KWin to KWaylandServer 2020-04-30 12:56:08 +02:00
idle_inhibition_test.cpp Port KWin to KWaylandServer 2020-04-30 12:56:08 +02:00
input_stacking_order.cpp Port KWin to KWaylandServer 2020-04-30 12:56:08 +02:00
internal_window.cpp Change CommandAllKey to Meta 2020-05-22 22:39:08 -04:00
keyboard_layout_test.cpp Use AbstractClient instead of XdgShellClient wherever possible 2020-03-04 09:57:13 +02:00
keymap_creation_failure_test.cpp Use AbstractClient instead of XdgShellClient wherever possible 2020-03-04 09:57:13 +02:00
kwin_wayland_test.cpp Split Compositor class in Wayland and X11 child classes 2019-08-07 21:06:53 +02:00
kwin_wayland_test.h [wayland] Drop support for legacy xdg-shell-v6 protocol 2020-03-18 14:38:58 +02:00
kwinbindings_test.cpp Make it possible to have a separate cursor for the tablet 2020-04-03 01:16:45 +02:00
lockscreen.cpp Merge branch 'Plasma/5.18' 2020-05-11 14:22:05 +03:00
maximize_test.cpp [wayland] Rework xdg-shell implementation 2020-06-01 15:12:59 +03:00
modifier_only_shortcut_test.cpp Make it possible to have a separate cursor for the tablet 2020-04-03 01:16:45 +02:00
move_resize_window_test.cpp [wayland] Rework xdg-shell implementation 2020-06-01 15:12:59 +03:00
no_global_shortcuts_test.cpp Make it possible to have a separate cursor for the tablet 2020-04-03 01:16:45 +02:00
no_xdg_runtime_dir_test.cpp
placement_test.cpp Make it possible to have a separate cursor for the tablet 2020-04-03 01:16:45 +02:00
plasma_surface_test.cpp Make it possible to have a separate cursor for the tablet 2020-04-03 01:16:45 +02:00
plasmawindow_test.cpp Port KWin to KWaylandServer 2020-04-30 12:56:08 +02:00
platformcursor.cpp Make it possible to have a separate cursor for the tablet 2020-04-03 01:16:45 +02:00
pointer_constraints_test.cpp Change CommandAllKey to Meta 2020-05-22 22:39:08 -04:00
pointer_input.cpp Change CommandAllKey to Meta 2020-05-22 22:39:08 -04:00
quick_tiling_test.cpp [wayland] Rework xdg-shell implementation 2020-06-01 15:12:59 +03:00
scene_opengl_es_test.cpp
scene_opengl_shadow_test.cpp Port KWin to KWaylandServer 2020-04-30 12:56:08 +02:00
scene_opengl_test.cpp
scene_qpainter_shadow_test.cpp Port KWin to KWaylandServer 2020-04-30 12:56:08 +02:00
scene_qpainter_test.cpp Port KWin to KWaylandServer 2020-04-30 12:56:08 +02:00
screen_changes_test.cpp [wayland] Add new XdgOutput properties 2020-04-08 10:39:59 +01:00
screenedge_client_show_test.cpp Make it possible to have a separate cursor for the tablet 2020-04-03 01:16:45 +02:00
shade_test.cpp Make it possible to have a separate cursor for the tablet 2020-04-03 01:16:45 +02:00
showing_desktop_test.cpp Use AbstractClient instead of XdgShellClient wherever possible 2020-03-04 09:57:13 +02:00
stacking_order_test.cpp Use AbstractClient instead of XdgShellClient wherever possible 2020-03-04 09:57:13 +02:00
struts_test.cpp Make it possible to have a separate cursor for the tablet 2020-04-03 01:16:45 +02:00
tabbox_test.cpp Make it possible to have a separate cursor for the tablet 2020-04-03 01:16:45 +02:00
test_helpers.cpp Port KWin to KWaylandServer 2020-04-30 12:56:08 +02:00
touch_input_test.cpp Make it possible to have a separate cursor for the tablet 2020-04-03 01:16:45 +02:00
transient_placement.cpp Port KWin to KWaylandServer 2020-04-30 12:56:08 +02:00
virtual_desktop_test.cpp [wayland] Drop support for legacy xdg-shell-v6 protocol 2020-03-18 14:38:58 +02:00
window_rules_test.cpp Make it possible to have a separate cursor for the tablet 2020-04-03 01:16:45 +02:00
window_selection_test.cpp Make it possible to have a separate cursor for the tablet 2020-04-03 01:16:45 +02:00
x11_client_test.cpp Make it possible to have a separate cursor for the tablet 2020-04-03 01:16:45 +02:00
xdgshellclient_rules_test.cpp [wayland] Rework xdg-shell implementation 2020-06-01 15:12:59 +03:00
xdgshellclient_test.cpp [wayland] Rework xdg-shell implementation 2020-06-01 15:12:59 +03:00
xwayland_input_test.cpp Port KWin to KWaylandServer 2020-04-30 12:56:08 +02:00
xwayland_selections_test.cpp Port KWin to KWaylandServer 2020-04-30 12:56:08 +02:00