2014-09-17 11:23:06 +00:00
|
|
|
########################################################
|
|
|
|
# Test WaylandOutput
|
|
|
|
########################################################
|
|
|
|
set( testWaylandOutput_SRCS
|
|
|
|
test_wayland_output.cpp
|
|
|
|
)
|
|
|
|
add_executable(testWaylandOutput ${testWaylandOutput_SRCS})
|
2021-01-30 16:24:42 +00:00
|
|
|
target_link_libraries( testWaylandOutput Qt::Test Qt::Gui KF5::WaylandClient Plasma::KWaylandServer Wayland::Client Wayland::Server)
|
2017-07-29 06:27:59 +00:00
|
|
|
add_test(NAME kwayland-testWaylandOutput COMMAND testWaylandOutput)
|
2014-09-17 11:23:06 +00:00
|
|
|
ecm_mark_as_test(testWaylandOutput)
|
|
|
|
|
|
|
|
########################################################
|
|
|
|
# Test WaylandSurface
|
|
|
|
########################################################
|
|
|
|
set( testWaylandSurface_SRCS
|
|
|
|
test_wayland_surface.cpp
|
|
|
|
)
|
|
|
|
add_executable(testWaylandSurface ${testWaylandSurface_SRCS})
|
2021-01-30 16:24:42 +00:00
|
|
|
target_link_libraries( testWaylandSurface Qt::Test Qt::Gui KF5::WaylandClient Plasma::KWaylandServer Wayland::Client Wayland::Server)
|
2017-07-29 06:27:59 +00:00
|
|
|
add_test(NAME kwayland-testWaylandSurface COMMAND testWaylandSurface)
|
2014-09-17 11:23:06 +00:00
|
|
|
ecm_mark_as_test(testWaylandSurface)
|
|
|
|
|
|
|
|
########################################################
|
|
|
|
# Test WaylandSeat
|
|
|
|
########################################################
|
2022-03-05 12:01:13 +00:00
|
|
|
add_executable(testWaylandSeat)
|
2021-12-17 08:31:42 +00:00
|
|
|
set( testWaylandSeat_SRCS
|
|
|
|
test_wayland_seat.cpp
|
2021-08-05 08:21:29 +00:00
|
|
|
)
|
2022-03-05 12:01:13 +00:00
|
|
|
if (QT_MAJOR_VERSION EQUAL "5")
|
|
|
|
ecm_add_qtwayland_client_protocol(testWaylandSeat_SRCS
|
|
|
|
PROTOCOL ${WaylandProtocols_DATADIR}/unstable/pointer-gestures/pointer-gestures-unstable-v1.xml
|
|
|
|
BASENAME pointer-gestures-unstable-v1
|
|
|
|
)
|
|
|
|
else()
|
|
|
|
qt6_generate_wayland_protocol_client_sources(testWaylandSeat FILES
|
|
|
|
${WaylandProtocols_DATADIR}/unstable/pointer-gestures/pointer-gestures-unstable-v1.xml)
|
|
|
|
endif()
|
|
|
|
target_sources(testWaylandSeat PRIVATE ${testWaylandSeat_SRCS})
|
2021-12-17 08:31:42 +00:00
|
|
|
target_link_libraries( testWaylandSeat Qt::Test Qt::Gui KF5::WaylandClient Plasma::KWaylandServer Wayland::Client Wayland::Server)
|
|
|
|
add_test(NAME kwayland-testWaylandSeat COMMAND testWaylandSeat)
|
|
|
|
ecm_mark_as_test(testWaylandSeat)
|
2014-09-22 06:52:05 +00:00
|
|
|
|
|
|
|
########################################################
|
|
|
|
# Test ShmPool
|
|
|
|
########################################################
|
|
|
|
set( testShmPool_SRCS
|
|
|
|
test_shm_pool.cpp
|
|
|
|
)
|
|
|
|
add_executable(testShmPool ${testShmPool_SRCS})
|
2021-01-30 16:24:42 +00:00
|
|
|
target_link_libraries( testShmPool Qt::Test Qt::Gui KF5::WaylandClient Plasma::KWaylandServer)
|
2017-07-29 06:27:59 +00:00
|
|
|
add_test(NAME kwayland-testShmPool COMMAND testShmPool)
|
2014-09-22 06:52:05 +00:00
|
|
|
ecm_mark_as_test(testShmPool)
|
2014-09-22 08:24:21 +00:00
|
|
|
|
2014-10-14 12:04:35 +00:00
|
|
|
########################################################
|
|
|
|
# Test SubSurface
|
|
|
|
########################################################
|
|
|
|
set( testSubSurface_SRCS
|
|
|
|
test_wayland_subsurface.cpp
|
|
|
|
)
|
|
|
|
add_executable(testSubSurface ${testSubSurface_SRCS})
|
2021-01-30 16:24:42 +00:00
|
|
|
target_link_libraries( testSubSurface Qt::Test Qt::Gui KF5::WaylandClient Plasma::KWaylandServer Wayland::Client)
|
2017-07-29 06:27:59 +00:00
|
|
|
add_test(NAME kwayland-testSubSurface COMMAND testSubSurface)
|
2014-10-14 12:04:35 +00:00
|
|
|
ecm_mark_as_test(testSubSurface)
|
2014-10-16 11:04:51 +00:00
|
|
|
|
2015-08-26 12:42:58 +00:00
|
|
|
########################################################
|
|
|
|
# Test Blur
|
|
|
|
########################################################
|
|
|
|
set( testBlur_SRCS
|
|
|
|
test_wayland_blur.cpp
|
|
|
|
)
|
|
|
|
add_executable(testBlur ${testBlur_SRCS})
|
2021-01-30 16:24:42 +00:00
|
|
|
target_link_libraries( testBlur Qt::Test Qt::Gui KF5::WaylandClient Plasma::KWaylandServer)
|
2017-07-29 06:27:59 +00:00
|
|
|
add_test(NAME kwayland-testBlur COMMAND testBlur)
|
2015-08-26 12:42:58 +00:00
|
|
|
ecm_mark_as_test(testBlur)
|
|
|
|
|
2015-09-02 16:13:25 +00:00
|
|
|
########################################################
|
|
|
|
# Test Contrast
|
|
|
|
########################################################
|
|
|
|
set( testContrast_SRCS
|
|
|
|
test_wayland_contrast.cpp
|
|
|
|
)
|
|
|
|
add_executable(testContrast ${testContrast_SRCS})
|
2021-01-30 16:24:42 +00:00
|
|
|
target_link_libraries( testContrast Qt::Test Qt::Gui KF5::WaylandClient Plasma::KWaylandServer Wayland::Client)
|
2017-07-29 06:27:59 +00:00
|
|
|
add_test(NAME kwayland-testContrast COMMAND testContrast)
|
2015-09-02 16:13:25 +00:00
|
|
|
ecm_mark_as_test(testContrast)
|
|
|
|
|
2015-09-09 11:04:11 +00:00
|
|
|
########################################################
|
|
|
|
# Test Slide
|
|
|
|
########################################################
|
|
|
|
set( testSlide_SRCS
|
|
|
|
test_wayland_slide.cpp
|
|
|
|
)
|
|
|
|
add_executable(testSlide ${testSlide_SRCS})
|
2021-01-30 16:24:42 +00:00
|
|
|
target_link_libraries( testSlide Qt::Test Qt::Gui KF5::WaylandClient Plasma::KWaylandServer Wayland::Client)
|
2017-07-29 06:27:59 +00:00
|
|
|
add_test(NAME kwayland-testSlide COMMAND testSlide)
|
2015-09-09 11:04:11 +00:00
|
|
|
ecm_mark_as_test(testSlide)
|
|
|
|
|
2015-10-30 11:26:12 +00:00
|
|
|
########################################################
|
|
|
|
# Test Window Management
|
|
|
|
########################################################
|
|
|
|
set( testWindowmanagement_SRCS
|
|
|
|
test_wayland_windowmanagement.cpp
|
|
|
|
)
|
|
|
|
add_executable(testWindowmanagement ${testWindowmanagement_SRCS})
|
2021-01-30 16:24:42 +00:00
|
|
|
target_link_libraries( testWindowmanagement Qt::Test Qt::Gui KF5::WaylandClient Plasma::KWaylandServer Wayland::Client)
|
2017-07-29 06:27:59 +00:00
|
|
|
add_test(NAME kwayland-testWindowmanagement COMMAND testWindowmanagement)
|
2015-10-30 11:26:12 +00:00
|
|
|
ecm_mark_as_test(testWindowmanagement)
|
|
|
|
|
2014-11-04 14:10:22 +00:00
|
|
|
########################################################
|
|
|
|
# Test DataSource
|
|
|
|
########################################################
|
|
|
|
set( testDataSource_SRCS
|
|
|
|
test_datasource.cpp
|
|
|
|
)
|
|
|
|
add_executable(testDataSource ${testDataSource_SRCS})
|
2021-01-30 16:24:42 +00:00
|
|
|
target_link_libraries( testDataSource Qt::Test Qt::Gui KF5::WaylandClient Plasma::KWaylandServer Wayland::Client)
|
2017-07-29 06:27:59 +00:00
|
|
|
add_test(NAME kwayland-testDataSource COMMAND testDataSource)
|
2014-11-04 14:10:22 +00:00
|
|
|
ecm_mark_as_test(testDataSource)
|
2014-11-06 09:02:49 +00:00
|
|
|
|
|
|
|
########################################################
|
|
|
|
# Test DataDevice
|
|
|
|
########################################################
|
|
|
|
set( testDataDevice_SRCS
|
|
|
|
test_datadevice.cpp
|
|
|
|
)
|
|
|
|
add_executable(testDataDevice ${testDataDevice_SRCS})
|
2021-01-30 16:24:42 +00:00
|
|
|
target_link_libraries( testDataDevice Qt::Test Qt::Gui KF5::WaylandClient Plasma::KWaylandServer Wayland::Client)
|
2017-07-29 06:27:59 +00:00
|
|
|
add_test(NAME kwayland-testDataDevice COMMAND testDataDevice)
|
2014-11-06 09:02:49 +00:00
|
|
|
ecm_mark_as_test(testDataDevice)
|
2015-12-10 10:27:01 +00:00
|
|
|
|
|
|
|
########################################################
|
|
|
|
# Test ServerSideDecoration
|
|
|
|
########################################################
|
|
|
|
set( testServerSideDecoration_SRCS
|
|
|
|
test_server_side_decoration.cpp
|
|
|
|
)
|
|
|
|
add_executable(testServerSideDecoration ${testServerSideDecoration_SRCS})
|
2021-01-30 16:24:42 +00:00
|
|
|
target_link_libraries( testServerSideDecoration Qt::Test Qt::Gui KF5::WaylandClient Plasma::KWaylandServer Wayland::Client)
|
2017-07-29 06:27:59 +00:00
|
|
|
add_test(NAME kwayland-testServerSideDecoration COMMAND testServerSideDecoration)
|
2015-12-10 10:27:01 +00:00
|
|
|
ecm_mark_as_test(testServerSideDecoration)
|
2016-03-03 08:47:12 +00:00
|
|
|
|
|
|
|
########################################################
|
|
|
|
# Test Drag'N'Drop
|
|
|
|
########################################################
|
|
|
|
set( testDragAndDrop_SRCS
|
|
|
|
test_drag_drop.cpp
|
|
|
|
)
|
|
|
|
add_executable(testDragAndDrop ${testDragAndDrop_SRCS})
|
2021-01-30 16:24:42 +00:00
|
|
|
target_link_libraries( testDragAndDrop Qt::Test Qt::Gui KF5::WaylandClient Plasma::KWaylandServer Wayland::Client)
|
2017-07-29 06:27:59 +00:00
|
|
|
add_test(NAME kwayland-testDragAndDrop COMMAND testDragAndDrop)
|
2016-03-03 08:47:12 +00:00
|
|
|
ecm_mark_as_test(testDragAndDrop)
|
2016-03-09 15:17:01 +00:00
|
|
|
|
|
|
|
########################################################
|
|
|
|
# Test PlasmaShell
|
|
|
|
########################################################
|
|
|
|
set( testPlasmaShell_SRCS
|
|
|
|
test_plasmashell.cpp
|
|
|
|
)
|
|
|
|
add_executable(testPlasmaShell ${testPlasmaShell_SRCS})
|
2021-01-30 16:24:42 +00:00
|
|
|
target_link_libraries( testPlasmaShell Qt::Test Qt::Gui KF5::WaylandClient Plasma::KWaylandServer Wayland::Client)
|
2017-07-29 06:27:59 +00:00
|
|
|
add_test(NAME kwayland-testPlasmaShell COMMAND testPlasmaShell)
|
2016-03-09 15:17:01 +00:00
|
|
|
ecm_mark_as_test(testPlasmaShell)
|
2016-04-12 09:39:35 +00:00
|
|
|
|
|
|
|
########################################################
|
|
|
|
# Test Idle
|
|
|
|
########################################################
|
|
|
|
set( testIdle_SRCS
|
|
|
|
test_idle.cpp
|
|
|
|
)
|
|
|
|
add_executable(testIdle ${testIdle_SRCS})
|
2021-01-30 16:24:42 +00:00
|
|
|
target_link_libraries( testIdle Qt::Test Qt::Gui KF5::WaylandClient Plasma::KWaylandServer)
|
2017-07-29 06:27:59 +00:00
|
|
|
add_test(NAME kwayland-testIdle COMMAND testIdle)
|
2016-04-12 09:39:35 +00:00
|
|
|
ecm_mark_as_test(testIdle)
|
2016-04-13 07:58:09 +00:00
|
|
|
|
|
|
|
########################################################
|
|
|
|
# Test Shadow
|
|
|
|
########################################################
|
|
|
|
set( testShadow_SRCS
|
|
|
|
test_shadow.cpp
|
|
|
|
)
|
|
|
|
add_executable(testShadow ${testShadow_SRCS})
|
2021-01-30 16:24:42 +00:00
|
|
|
target_link_libraries( testShadow Qt::Test Qt::Gui KF5::WaylandClient Plasma::KWaylandServer)
|
2017-07-29 06:27:59 +00:00
|
|
|
add_test(NAME kwayland-testShadow COMMAND testShadow)
|
2016-04-13 07:58:09 +00:00
|
|
|
ecm_mark_as_test(testShadow)
|
2016-04-13 10:08:15 +00:00
|
|
|
|
|
|
|
########################################################
|
|
|
|
# Test FakeInput
|
|
|
|
########################################################
|
2021-12-17 08:31:42 +00:00
|
|
|
set( testFakeInput_SRCS
|
|
|
|
test_fake_input.cpp
|
|
|
|
)
|
|
|
|
add_executable(testFakeInput ${testFakeInput_SRCS})
|
|
|
|
target_link_libraries( testFakeInput Qt::Test Qt::Gui KF5::WaylandClient Plasma::KWaylandServer)
|
|
|
|
add_test(NAME kwayland-testFakeInput COMMAND testFakeInput)
|
|
|
|
ecm_mark_as_test(testFakeInput)
|
2016-04-14 15:22:13 +00:00
|
|
|
|
2016-05-02 12:28:26 +00:00
|
|
|
########################################################
|
2020-09-23 08:21:22 +00:00
|
|
|
# Test TextInputV2
|
2016-05-02 12:28:26 +00:00
|
|
|
########################################################
|
2020-09-23 08:21:22 +00:00
|
|
|
set( testTextInputV2_SRCS
|
|
|
|
test_text_input_v2.cpp
|
2016-05-02 12:28:26 +00:00
|
|
|
)
|
2020-09-23 08:21:22 +00:00
|
|
|
add_executable(testTextInputV2 ${testTextInputV2_SRCS})
|
2021-01-30 16:24:42 +00:00
|
|
|
target_link_libraries( testTextInputV2 Qt::Test Qt::Gui KF5::WaylandClient Plasma::KWaylandServer)
|
2020-09-23 08:21:22 +00:00
|
|
|
add_test(NAME kwayland-testTextInputV2 COMMAND testTextInputV2)
|
|
|
|
ecm_mark_as_test(testTextInputV2)
|
2016-06-03 09:24:36 +00:00
|
|
|
|
|
|
|
########################################################
|
|
|
|
# Test Error
|
|
|
|
########################################################
|
|
|
|
set( testError_SRCS
|
|
|
|
test_error.cpp
|
|
|
|
)
|
|
|
|
add_executable(testError ${testError_SRCS})
|
2021-01-30 16:24:42 +00:00
|
|
|
target_link_libraries( testError Qt::Test Qt::Gui KF5::WaylandClient Plasma::KWaylandServer Wayland::Client)
|
2017-07-29 06:27:59 +00:00
|
|
|
add_test(NAME kwayland-testError COMMAND testError)
|
2016-06-03 09:24:36 +00:00
|
|
|
ecm_mark_as_test(testError)
|
2016-07-05 08:56:22 +00:00
|
|
|
|
|
|
|
########################################################
|
|
|
|
# Test Selection
|
|
|
|
########################################################
|
|
|
|
set( testSelection_SRCS
|
|
|
|
test_selection.cpp
|
|
|
|
)
|
|
|
|
add_executable(testSelection ${testSelection_SRCS})
|
2021-01-30 16:24:42 +00:00
|
|
|
target_link_libraries( testSelection Qt::Test Qt::Gui KF5::WaylandClient Plasma::KWaylandServer Wayland::Client)
|
2017-07-29 06:27:59 +00:00
|
|
|
add_test(NAME kwayland-testSelection COMMAND testSelection)
|
2016-07-05 08:56:22 +00:00
|
|
|
ecm_mark_as_test(testSelection)
|
2016-04-21 10:56:02 +00:00
|
|
|
|
Wayland foreign protocol
Summary:
Implement the "foreign" wayland protocol.
A client can export a surface with an unique string as handle,
then another client can refer to that surface and set an own surface as
child of that surface.
Potential use cases are out-of-process dialogs, such as file dialogs,
meant to be used by sandboxed processes that may not have the access
it needs to implement such dialogs.
The handle needs to be shared between the processes with other means,
such as dbus or command line paramenters.
The public api of the server side only tracks parent/child relationships as this is the only data kwin would need it for, the rest of the api is not exported so should be safer from eventual protocol changes
Test Plan:
the autotest works, but has a lot of random crashes when deleting surfaces,
unfortunately backtraces don't tell much and the crashes never occur when running into valgrind
behavior may still be wrong, depending on how the protocol is supposed
to work if more clients try to set the same exported surface as parent
Reviewers: #plasma, #kwin, davidedmundson, graesslin
Reviewed By: #plasma, #kwin, graesslin
Subscribers: davidedmundson, graesslin, plasma-devel, #frameworks
Tags: #frameworks, #plasma_on_wayland
Differential Revision: https://phabricator.kde.org/D7369
2017-10-13 09:29:17 +00:00
|
|
|
########################################################
|
|
|
|
# Test XdgForeign
|
|
|
|
########################################################
|
|
|
|
set( testXdgForeign_SRCS
|
|
|
|
test_xdg_foreign.cpp
|
|
|
|
)
|
|
|
|
add_executable(testXdgForeign ${testXdgForeign_SRCS})
|
2021-01-30 16:24:42 +00:00
|
|
|
target_link_libraries( testXdgForeign Qt::Test Qt::Gui Plasma::KWaylandServer KF5::WaylandClient Wayland::Client)
|
Wayland foreign protocol
Summary:
Implement the "foreign" wayland protocol.
A client can export a surface with an unique string as handle,
then another client can refer to that surface and set an own surface as
child of that surface.
Potential use cases are out-of-process dialogs, such as file dialogs,
meant to be used by sandboxed processes that may not have the access
it needs to implement such dialogs.
The handle needs to be shared between the processes with other means,
such as dbus or command line paramenters.
The public api of the server side only tracks parent/child relationships as this is the only data kwin would need it for, the rest of the api is not exported so should be safer from eventual protocol changes
Test Plan:
the autotest works, but has a lot of random crashes when deleting surfaces,
unfortunately backtraces don't tell much and the crashes never occur when running into valgrind
behavior may still be wrong, depending on how the protocol is supposed
to work if more clients try to set the same exported surface as parent
Reviewers: #plasma, #kwin, davidedmundson, graesslin
Reviewed By: #plasma, #kwin, graesslin
Subscribers: davidedmundson, graesslin, plasma-devel, #frameworks
Tags: #frameworks, #plasma_on_wayland
Differential Revision: https://phabricator.kde.org/D7369
2017-10-13 09:29:17 +00:00
|
|
|
add_test(NAME kwayland-testXdgForeign COMMAND testXdgForeign)
|
|
|
|
ecm_mark_as_test(testXdgForeign)
|
|
|
|
|
2018-07-13 13:50:05 +00:00
|
|
|
########################################################
|
2020-05-04 13:32:23 +00:00
|
|
|
# Test XdgShell
|
2018-07-13 13:50:05 +00:00
|
|
|
########################################################
|
2020-05-04 13:32:23 +00:00
|
|
|
set(testXdgShell_SRCS test_xdg_shell.cpp)
|
|
|
|
add_executable(testXdgShell ${testXdgShell_SRCS})
|
2021-01-30 16:24:42 +00:00
|
|
|
target_link_libraries( testXdgShell Qt::Test Qt::Gui Plasma::KWaylandServer KF5::WaylandClient Wayland::Client)
|
2020-05-04 13:32:23 +00:00
|
|
|
add_test(NAME kwayland-testXdgShell COMMAND testXdgShell)
|
|
|
|
ecm_mark_as_test(testXdgShell)
|
Support XDG v6
Summary:
The main clever part that's not just boring boiler plate is how we
handle the structure change
A surface now has an XDGSurface which then has a an Xdg TopLevel or a
Xdg Popup
We need to fit this into the public API which assumes a surface has a
Surface or a Popup.
The old Surface is similar to the new TopLevel.
The shoehorning works by relying on the fact that a surface without a
role is pretty useless.
Clients create the surface implicitly with the toplevel or implicitly
with the popup.
The server only announced it has a new "XdgSurface" when it gets a new
zxdg_surface_get_toplevel.
----
Popup decisions:
- On popup creation the server should copy the current info from the
positioner and then it gets deleted. Given kwaylands job is to keep
state, we expose all these parameter via popup.
- Due to this positioner is not exposed as a resource anywhere.
- Server API is 100% backwards compatiable.
i.e new code will work identically with v5 clients.
- Client API is not. Grabs are called separately from the constructor,
and the parent surface changed to an xdgsurface, not a raw surface.
V5 code still works as-is, just not with the new constructors.
It seemed better to match the v6 (and what will be the stable v7) than
to try and do hacks and lose functionality.
Given the client needs to change the code to opt into V6 anyway. I don't
think this is a huge problem.
Test Plan: Current test still passes.
Reviewers: #plasma, graesslin
Reviewed By: #plasma, graesslin
Subscribers: graesslin, mart, plasma-devel, #frameworks
Tags: #frameworks, #plasma_on_wayland
Differential Revision: https://phabricator.kde.org/D6047
2017-09-04 15:38:35 +00:00
|
|
|
|
2016-11-08 13:17:15 +00:00
|
|
|
########################################################
|
|
|
|
# Test Pointer Constraints
|
|
|
|
########################################################
|
|
|
|
add_executable(testPointerConstraints test_pointer_constraints.cpp)
|
2021-01-30 16:24:42 +00:00
|
|
|
target_link_libraries( testPointerConstraints Qt::Test Qt::Gui Plasma::KWaylandServer KF5::WaylandClient Wayland::Client)
|
2017-07-29 06:27:59 +00:00
|
|
|
add_test(NAME kwayland-testPointerConstraints COMMAND testPointerConstraints)
|
2016-11-08 13:17:15 +00:00
|
|
|
ecm_mark_as_test(testPointerConstraints)
|
Expose wl_display_set_global_filter as a virtual method
Summary:
This allows a server to filter which globals are visible and bindable by
clients.
Design rationale:
Could be it's own class with Display as an arg, but we need the lifespan
to exactly match Display, and the cardinality to match Display and it
needs to be set after we're started but before clients connect.
Better to enfore rules with code than with documentation.
I'm filtering by interface name as there isn't any other good
identifier of what a wl_global refers to, even if you could assume
you can cast the userdata to a Server::Global.
Test Plan: Attached unit test
Reviewers: #plasma, graesslin, bcooksley
Reviewed By: #plasma, graesslin
Subscribers: bcooksley, graesslin, plasma-devel, #frameworks
Tags: #frameworks, #plasma
Differential Revision: https://phabricator.kde.org/D8050
2017-11-17 08:34:01 +00:00
|
|
|
|
|
|
|
|
|
|
|
########################################################
|
|
|
|
# Test Filter
|
|
|
|
########################################################
|
|
|
|
set( testFilter_SRCS
|
|
|
|
test_wayland_filter.cpp
|
|
|
|
)
|
|
|
|
add_executable(testFilter ${testFilter_SRCS})
|
2021-01-30 16:24:42 +00:00
|
|
|
target_link_libraries( testFilter Qt::Test Qt::Gui KF5::WaylandClient Plasma::KWaylandServer Wayland::Server)
|
Expose wl_display_set_global_filter as a virtual method
Summary:
This allows a server to filter which globals are visible and bindable by
clients.
Design rationale:
Could be it's own class with Display as an arg, but we need the lifespan
to exactly match Display, and the cardinality to match Display and it
needs to be set after we're started but before clients connect.
Better to enfore rules with code than with documentation.
I'm filtering by interface name as there isn't any other good
identifier of what a wl_global refers to, even if you could assume
you can cast the userdata to a Server::Global.
Test Plan: Attached unit test
Reviewers: #plasma, graesslin, bcooksley
Reviewed By: #plasma, graesslin
Subscribers: bcooksley, graesslin, plasma-devel, #frameworks
Tags: #frameworks, #plasma
Differential Revision: https://phabricator.kde.org/D8050
2017-11-17 08:34:01 +00:00
|
|
|
add_test(NAME kwayland-testFilter COMMAND testFilter)
|
|
|
|
ecm_mark_as_test(testFilter)
|
2017-12-18 21:50:31 +00:00
|
|
|
|
|
|
|
########################################################
|
|
|
|
# Test Appmenu
|
|
|
|
########################################################
|
|
|
|
set( testAppmenu_SRCS
|
|
|
|
test_wayland_appmenu.cpp
|
|
|
|
)
|
|
|
|
add_executable(testAppmenu ${testAppmenu_SRCS})
|
2021-01-30 16:24:42 +00:00
|
|
|
target_link_libraries( testAppmenu Qt::Test Qt::Gui KF5::WaylandClient Plasma::KWaylandServer)
|
2017-12-18 21:50:31 +00:00
|
|
|
add_test(NAME kwayland-testAppmenu COMMAND testAppmenu)
|
|
|
|
ecm_mark_as_test(testAppmenu)
|
2018-01-03 10:24:57 +00:00
|
|
|
|
|
|
|
########################################################
|
|
|
|
# Test Appmenu
|
|
|
|
########################################################
|
|
|
|
set( testServerSideDecorationPalette_SRCS
|
|
|
|
test_server_side_decoration_palette.cpp
|
|
|
|
)
|
|
|
|
add_executable(testServerSideDecorationPalette ${testServerSideDecorationPalette_SRCS})
|
2021-01-30 16:24:42 +00:00
|
|
|
target_link_libraries( testServerSideDecorationPalette Qt::Test Qt::Gui KF5::WaylandClient Plasma::KWaylandServer)
|
2018-01-03 10:24:57 +00:00
|
|
|
add_test(NAME kwayland-testServerSideDecorationPalette COMMAND testServerSideDecorationPalette)
|
|
|
|
ecm_mark_as_test(testServerSideDecorationPalette)
|
|
|
|
|
Add KWayland virtual desktop protocol
Summary:
Implement the virtual desktop protocol discussed in
T4457 xml protocol, client and server part.
The PlasmaVirtualDesktopManagement interface manages the desktops
instantiation and layout, each desktop is a PlasmaVirtualDesktop
instance which contains unique id, name and position.
PlasmaWindow has new events: plasmaVirtualDesktopEntered
and plasmaVirtualDesktopLeft when a window enters or leaves a desktop,
and desktops as the list of desktops is in. A window can be on
any subset of desktops, if the list is empty, it's considered on all desktops.
Test Plan: Autotest
Reviewers: #kwin, #plasma, graesslin, hein, davidedmundson
Reviewed By: #kwin, #plasma, davidedmundson
Subscribers: davidedmundson, zzag, bshah, romangg, kde-frameworks-devel
Tags: #frameworks
Maniphest Tasks: T4457
Differential Revision: https://phabricator.kde.org/D12820
2018-07-19 16:36:32 +00:00
|
|
|
########################################################
|
|
|
|
# Test VirtualDesktop
|
|
|
|
########################################################
|
|
|
|
set( testPlasmaVirtualDesktop_SRCS
|
|
|
|
test_plasma_virtual_desktop.cpp
|
|
|
|
)
|
|
|
|
add_executable(testPlasmaVirtualDesktop ${testPlasmaVirtualDesktop_SRCS})
|
2021-01-30 16:24:42 +00:00
|
|
|
target_link_libraries( testPlasmaVirtualDesktop Qt::Test Qt::Gui KF5::WaylandClient Plasma::KWaylandServer)
|
Add KWayland virtual desktop protocol
Summary:
Implement the virtual desktop protocol discussed in
T4457 xml protocol, client and server part.
The PlasmaVirtualDesktopManagement interface manages the desktops
instantiation and layout, each desktop is a PlasmaVirtualDesktop
instance which contains unique id, name and position.
PlasmaWindow has new events: plasmaVirtualDesktopEntered
and plasmaVirtualDesktopLeft when a window enters or leaves a desktop,
and desktops as the list of desktops is in. A window can be on
any subset of desktops, if the list is empty, it's considered on all desktops.
Test Plan: Autotest
Reviewers: #kwin, #plasma, graesslin, hein, davidedmundson
Reviewed By: #kwin, #plasma, davidedmundson
Subscribers: davidedmundson, zzag, bshah, romangg, kde-frameworks-devel
Tags: #frameworks
Maniphest Tasks: T4457
Differential Revision: https://phabricator.kde.org/D12820
2018-07-19 16:36:32 +00:00
|
|
|
add_test(NAME kwayland-testPlasmaVirtualDesktop COMMAND testPlasmaVirtualDesktop)
|
|
|
|
ecm_mark_as_test(testPlasmaVirtualDesktop)
|
|
|
|
|
2021-03-16 17:33:46 +00:00
|
|
|
########################################################
|
|
|
|
# Test Activities
|
|
|
|
########################################################
|
|
|
|
set( testPlasmaActivities_SRCS
|
|
|
|
test_plasma_activities.cpp
|
|
|
|
)
|
|
|
|
add_executable(testPlasmaActivities ${testPlasmaActivities_SRCS})
|
|
|
|
target_link_libraries( testPlasmaActivities Qt::Test Qt::Gui KF5::WaylandClient Plasma::KWaylandServer)
|
|
|
|
add_test(NAME kwayland-testPlasmaActivities COMMAND testPlasmaActivities)
|
|
|
|
ecm_mark_as_test(testPlasmaActivities)
|
|
|
|
|
2018-05-15 09:45:17 +00:00
|
|
|
########################################################
|
|
|
|
# Test XDG Output
|
|
|
|
########################################################
|
|
|
|
set( testXdgOutput_SRCS
|
|
|
|
test_xdg_output.cpp
|
|
|
|
)
|
|
|
|
add_executable(testXdgOutput ${testXdgOutput_SRCS})
|
2021-01-30 16:24:42 +00:00
|
|
|
target_link_libraries( testXdgOutput Qt::Test Qt::Gui KF5::WaylandClient Plasma::KWaylandServer Wayland::Client Wayland::Server)
|
2018-05-15 09:45:17 +00:00
|
|
|
add_test(NAME kwayland-testXdgOutput COMMAND testXdgOutput)
|
|
|
|
ecm_mark_as_test(testXdgOutput)
|
Add KWayland virtual desktop protocol
Summary:
Implement the virtual desktop protocol discussed in
T4457 xml protocol, client and server part.
The PlasmaVirtualDesktopManagement interface manages the desktops
instantiation and layout, each desktop is a PlasmaVirtualDesktop
instance which contains unique id, name and position.
PlasmaWindow has new events: plasmaVirtualDesktopEntered
and plasmaVirtualDesktopLeft when a window enters or leaves a desktop,
and desktops as the list of desktops is in. A window can be on
any subset of desktops, if the list is empty, it's considered on all desktops.
Test Plan: Autotest
Reviewers: #kwin, #plasma, graesslin, hein, davidedmundson
Reviewed By: #kwin, #plasma, davidedmundson
Subscribers: davidedmundson, zzag, bshah, romangg, kde-frameworks-devel
Tags: #frameworks
Maniphest Tasks: T4457
Differential Revision: https://phabricator.kde.org/D12820
2018-07-19 16:36:32 +00:00
|
|
|
|
2018-12-21 13:07:52 +00:00
|
|
|
########################################################
|
|
|
|
# Test XDG Decoration
|
|
|
|
########################################################
|
|
|
|
set( testXdgdecoration_SRCS
|
|
|
|
test_xdg_decoration.cpp
|
|
|
|
)
|
|
|
|
add_executable(testXdgDecoration ${testXdgdecoration_SRCS})
|
2021-01-30 16:24:42 +00:00
|
|
|
target_link_libraries( testXdgDecoration Qt::Test Qt::Gui KF5::WaylandClient Plasma::KWaylandServer Wayland::Client Wayland::Server)
|
2018-12-21 13:07:52 +00:00
|
|
|
add_test(NAME kwayland-testXdgDecoration COMMAND testXdgDecoration)
|
|
|
|
ecm_mark_as_test(testXdgDecoration)
|
|
|
|
|