kwin/autotests/integration
Roman Gilg 6e08fb2fa5 [xwl] Generic X selections translation mechanism with Clipboard support
Summary:
In this patch an infrastructure is created to represent generic X selections
in a Wayland session and use them for data transfers between Xwayland windows
and Wayland native clients.

The central manager is the DataBridge class, in which Selection objects can be
created. This is hard-coded and such a Selection object persists until the end
of the session, so no arbitrary selections can be created on the fly. For now
the X Clipboard selection is supported, whose corresponding mechanism in the
Wayland protocol is just called Selection.

A Selection object listens for selection owner changes on the X side and for
similar events into the Wayland server interfaces. If a data provider is
available a selection source object is created by the Selection object. In case
data is requested on the other side, a data transfer is initialized by creating
a Transfer object. A Selection keeps track of all transfers and makes sure that
they are destroyed when they are finished or in case they idle because of
misbehaving clients.

The Clipboard class translates the X Clipboard via a proxy window. Selection
changes on the Wayland side are listened to through a new signal on the active
KWayland seat interface.

The previously used X clipboard syncer helper is disabled. The clipboard sync
autotest is changed to the new mechanism.

BUG: 394765
BUG: 395313

Test Plan: Manually and clipboard sync autotest.

Reviewers: #kwin

Subscribers: zzag, graesslin, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D15061
2019-02-19 12:24:27 +01:00
..
data
effects [autotests] Test maximize animation 2019-02-01 13:50:40 +02:00
fakes [scenes/opengl] Fix overlapping shadow tiles 2018-06-07 12:07:57 +03:00
helper
scripting Fix minor EBN issues 2018-08-29 21:02:16 +03:00
activities_test.cpp Fix the way how we quit kactivitymanagerd from the unit test 2018-11-09 17:27:07 +01:00
CMakeLists.txt [xwl] Generic X selections translation mechanism with Clipboard support 2019-02-19 12:24:27 +01:00
colorcorrect_nightcolor_test.cpp [autotests] Stabilise colorcorrect test 2018-11-30 11:37:41 +00:00
dbus_interface_test.cpp Port window specific rules dialog to DBus 2018-12-31 07:58:12 +01:00
debug_console_test.cpp [platforms/virtual] Add virtual output class 2018-03-19 22:12:22 +01:00
decoration_input_test.cpp [autotests] Update tests to use stable version of xdg-shell 2019-01-20 13:52:30 +02:00
desktop_window_x11_test.cpp [platforms/virtual] Add virtual output class 2018-03-19 22:12:22 +01:00
dont_crash_aurorae_destroy_deco.cpp [autotests] Don't check whether there is a /dev/dri/card0 2019-01-12 07:36:28 +01:00
dont_crash_cancel_animation.cpp
dont_crash_cursor_physical_size_empty.cpp [autotests] Update tests to use stable version of xdg-shell 2019-01-20 13:52:30 +02:00
dont_crash_empty_deco.cpp [autotests] Don't check whether there is a /dev/dri/card0 2019-01-12 07:36:28 +01:00
dont_crash_glxgears.cpp
dont_crash_no_border.cpp [autotests] Update tests to use stable version of xdg-shell 2019-01-20 13:52:30 +02:00
dont_crash_reinitialize_compositor.cpp [autotests] Don't check whether there is a /dev/dri/card0 2019-01-12 07:36:28 +01:00
dont_crash_useractions_menu.cpp [platforms/virtual] Add virtual output class 2018-03-19 22:12:22 +01:00
generic_scene_opengl_test.cpp [autotests] Don't check whether there is a /dev/dri/card0 2019-01-12 07:36:28 +01:00
generic_scene_opengl_test.h
globalshortcuts_test.cpp Don't try to filter null key combinations 2018-04-24 16:35:23 +02:00
idle_inhibition_test.cpp [wayland] Don't honor the idle inhibitor object if the surface is not visible 2019-01-11 15:14:16 +02:00
input_stacking_order.cpp [platforms/virtual] Add virtual output class 2018-03-19 22:12:22 +01:00
internal_window.cpp Add windowsystem plugin for KWin's qpa 2019-01-27 08:59:58 +01:00
keyboard_layout_test.cpp Fix KeyboardLayoutTest::testNumLock 2018-11-15 19:01:51 +01:00
keymap_creation_failure_test.cpp
kwin_wayland_test.cpp [xwl] Generic X selections translation mechanism with Clipboard support 2019-02-19 12:24:27 +01:00
kwin_wayland_test.h [autotests] Use Xwayland class in WaylandTestApplication 2019-02-19 12:18:33 +01:00
kwinbindings_test.cpp
lockscreen.cpp [autotests] Don't check whether there is a /dev/dri/card0 2019-01-12 07:36:28 +01:00
maximize_test.cpp Drop ShellClient::shellSurface method 2019-02-01 12:54:27 +02:00
modifier_only_shortcut_test.cpp
move_resize_window_test.cpp [autotests] Update tests to use stable version of xdg-shell 2019-01-20 13:52:30 +02:00
no_global_shortcuts_test.cpp Introduce a command line option to disable any kind of global shortcuts 2018-12-13 19:36:28 +01:00
no_xdg_runtime_dir_test.cpp
plasma_surface_test.cpp [autotests] Update tests to use stable version of xdg-shell 2019-01-20 13:52:30 +02:00
plasmawindow_test.cpp [autotests] Don't check whether there is a /dev/dri/card0 2019-01-12 07:36:28 +01:00
platformcursor.cpp
pointer_constraints_test.cpp [autotests] Update tests to use stable version of xdg-shell 2019-01-20 13:52:30 +02:00
pointer_input.cpp [wayland] Don't use hardcoded move-resize cursor 2018-12-31 12:35:01 +02:00
quick_tiling_test.cpp [autotests] Handle async maximisation in quick tiling test 2018-11-08 01:50:51 +00:00
scene_opengl_es_test.cpp
scene_opengl_shadow_test.cpp [autotests] Don't check whether there is a /dev/dri/card0 2019-01-12 07:36:28 +01:00
scene_opengl_test.cpp
scene_qpainter_shadow_test.cpp compare doubles to doubles 2018-06-14 09:21:07 +01:00
scene_qpainter_test.cpp [autotests] Update tests to use stable version of xdg-shell 2019-01-20 13:52:30 +02:00
screen_changes_test.cpp Add XDG Output support 2018-05-18 14:16:13 +01:00
screenedge_client_show_test.cpp [platforms/virtual] Add virtual output class 2018-03-19 22:12:22 +01:00
shade_test.cpp [platforms/virtual] Add virtual output class 2018-03-19 22:12:22 +01:00
shell_client_rules_test.cpp [autotests] Update tests to use stable version of xdg-shell 2019-01-20 13:52:30 +02:00
shell_client_test.cpp [autotests] Untangle ShellClient::testMaximizedToFullscreen 2019-01-29 12:31:06 +00:00
showing_desktop_test.cpp
stacking_order_test.cpp [autotests] Add tests for keep-above and keep-below states 2019-01-01 17:29:14 +02:00
start_test.cpp Introduce a command line option to disable any kind of global shortcuts 2018-12-13 19:36:28 +01:00
struts_test.cpp [platforms/virtual] Add virtual output class 2018-03-19 22:12:22 +01:00
tabbox_test.cpp
test_helpers.cpp [wayland] XdgDecoration Support 2019-01-01 17:53:48 +00:00
touch_input_test.cpp Hide mouse cursor when interacting with touch screen 2018-12-13 18:55:46 +01:00
transient_no_input_test.cpp [wayland] XdgPopup Positioning 2018-10-20 17:17:59 +01:00
transient_placement.cpp Honor struts when placing Wayland transients 2018-12-31 07:58:50 +01:00
virtual_desktop_test.cpp [autotests] Update tests to use stable version of xdg-shell 2019-01-20 13:52:30 +02:00
window_rules_test.cpp Re-evaluate the window rules when the window class of a Client changes 2018-11-07 09:33:39 +01:00
window_selection_test.cpp Rework InputDeviceHandler focus tracking 2018-12-02 21:36:11 +01:00
x11_client_test.cpp Introduce the concept of an internal window system independent id 2018-12-01 12:17:05 +01:00
xclipboardsync_test.cpp [xwl] Generic X selections translation mechanism with Clipboard support 2019-02-19 12:24:27 +01:00
xwayland_input_test.cpp [platforms/virtual] Add virtual output class 2018-03-19 22:12:22 +01:00