Hello community, here is the log from the commit of package kwayland for openSUSE:Factory checked in at 2019-11-12 11:50:16 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kwayland (Old) and /work/SRC/openSUSE:Factory/.kwayland.new.2990 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kwayland" Tue Nov 12 11:50:16 2019 rev:68 rq:747142 version:5.64.0 Changes: -------- --- /work/SRC/openSUSE:Factory/kwayland/kwayland.changes 2019-10-14 13:39:20.165736174 +0200 +++ /work/SRC/openSUSE:Factory/.kwayland.new.2990/kwayland.changes 2019-11-12 11:50:20.619028923 +0100 @@ -1,0 +2,12 @@ +Sun Nov 3 15:47:17 UTC 2019 - Christophe Giboudeaux <[email protected]> + +- Update to 5.64.0 + * New feature release + * For more details please see: + * https://www.kde.org/announcements/kde-frameworks-5.64.0.php +- Changes since 5.63.0: + * FakeInput: add support for keyboard key press and release + * Use ECMGenerateExportHeader to manage deprecated API better + * Fix non-integer scale copy on creation of OutputChangeSet + +------------------------------------------------------------------- Old: ---- kwayland-5.63.0.tar.xz kwayland-5.63.0.tar.xz.sig New: ---- kwayland-5.64.0.tar.xz kwayland-5.64.0.tar.xz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kwayland.spec ++++++ --- /var/tmp/diff_new_pack.j8QlzW/_old 2019-11-12 11:50:22.147030486 +0100 +++ /var/tmp/diff_new_pack.j8QlzW/_new 2019-11-12 11:50:22.151030489 +0100 @@ -16,7 +16,7 @@ # -%define _tar_path 5.63 +%define _tar_path 5.64 # Full KF5 version (e.g. 5.33.0) %{!?_kf5_version: %global _kf5_version %{version}} # Last major and minor KF5 version (e.g. 5.33) @@ -24,7 +24,7 @@ # Only needed for the package signature condition %bcond_without lang Name: kwayland -Version: 5.63.0 +Version: 5.64.0 Release: 0 Summary: KDE Wayland library License: LGPL-2.1-or-later ++++++ kwayland-5.63.0.tar.xz -> kwayland-5.64.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-5.63.0/CMakeLists.txt new/kwayland-5.64.0/CMakeLists.txt --- old/kwayland-5.63.0/CMakeLists.txt 2019-10-06 11:37:54.000000000 +0200 +++ new/kwayland-5.64.0/CMakeLists.txt 2019-11-02 12:46:37.000000000 +0100 @@ -1,17 +1,17 @@ cmake_minimum_required(VERSION 3.5) -set(KF5_VERSION "5.63.0") # handled by release scripts +set(KF5_VERSION "5.64.0") # handled by release scripts project(KWayland VERSION ${KF5_VERSION}) # ECM setup include(FeatureSummary) -find_package(ECM 5.63.0 NO_MODULE) +find_package(ECM 5.64.0 NO_MODULE) set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake Modules." URL "https://projects.kde.org/projects/kdesupport/extra-cmake-modules") feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND FATAL_ON_MISSING_REQUIRED_PACKAGES) set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake/Modules) include(FeatureSummary) -include(GenerateExportHeader) +include(ECMGenerateExportHeader) include(CMakePackageConfigHelpers) include(ECMSetupVersion) include(ECMGenerateHeaders) @@ -59,6 +59,8 @@ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu90") add_definitions(-DQT_NO_FOREACH) +add_definitions(-DQT_DISABLE_DEPRECATED_BEFORE=0x050d00) +add_definitions(-DQT_DEPRECATED_WARNINGS_SINCE=0x060000) # Subdirectories if (IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/po") ecm_install_po_files_as_qm(po) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-5.63.0/autotests/client/test_fake_input.cpp new/kwayland-5.64.0/autotests/client/test_fake_input.cpp --- old/kwayland-5.63.0/autotests/client/test_fake_input.cpp 2019-10-06 11:37:54.000000000 +0200 +++ new/kwayland-5.64.0/autotests/client/test_fake_input.cpp 2019-11-02 12:46:37.000000000 +0100 @@ -52,6 +52,8 @@ void testAxis_data(); void testAxis(); void testTouch(); + void testKeyboardKeyLinux_data(); + void testKeyboardKeyLinux(); private: Display *m_display = nullptr; @@ -423,6 +425,57 @@ QCOMPARE(touchCancelSpy.count(), 1); } +void FakeInputTest::testKeyboardKeyLinux_data() +{ + QTest::addColumn<quint32>("linuxKey"); + + QTest::newRow("A") << quint32(KEY_A); + QTest::newRow("S") << quint32(KEY_S); + QTest::newRow("D") << quint32(KEY_D); + QTest::newRow("F") << quint32(KEY_F); +} + +void FakeInputTest::testKeyboardKeyLinux() +{ + // this test verifies that keyboard key events are properly passed to the server with Qt button codes + QVERIFY(!m_device->isAuthenticated()); + QSignalSpy pressedSpy(m_device, &FakeInputDevice::keyboardKeyPressRequested); + QVERIFY(pressedSpy.isValid()); + QSignalSpy releasedSpy(m_device, &FakeInputDevice::keyboardKeyReleaseRequested); + QVERIFY(releasedSpy.isValid()); + + // without an authentication we shouldn't get the signals + QFETCH(quint32, linuxKey); + m_fakeInput->requestKeyboardKeyPress(linuxKey); + m_fakeInput->requestKeyboardKeyRelease(linuxKey); + QVERIFY(!pressedSpy.wait(100)); + QVERIFY(pressedSpy.isEmpty()); + QVERIFY(releasedSpy.isEmpty()); + + // now authenticate + m_device->setAuthentication(true); + // now our click should work + m_fakeInput->requestKeyboardKeyPress(linuxKey); + m_fakeInput->requestKeyboardKeyRelease(linuxKey); + QVERIFY(releasedSpy.wait()); + QCOMPARE(pressedSpy.count(), 1); + QCOMPARE(releasedSpy.count(), 1); + QTEST(pressedSpy.last().first().value<quint32>(), "linuxKey"); + QTEST(releasedSpy.last().first().value<quint32>(), "linuxKey"); + + // and a press/release "manually" + m_fakeInput->requestKeyboardKeyPress(linuxKey); + QVERIFY(pressedSpy.wait()); + QCOMPARE(pressedSpy.count(), 2); + QCOMPARE(releasedSpy.count(), 1); + QTEST(pressedSpy.last().first().value<quint32>(), "linuxKey"); + // and release + m_fakeInput->requestKeyboardKeyRelease(linuxKey); + QVERIFY(releasedSpy.wait()); + QCOMPARE(pressedSpy.count(), 2); + QCOMPARE(releasedSpy.count(), 2); + QTEST(releasedSpy.last().first().value<quint32>(), "linuxKey"); +} QTEST_GUILESS_MAIN(FakeInputTest) #include "test_fake_input.moc" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-5.63.0/autotests/client/test_plasma_window_model.cpp new/kwayland-5.64.0/autotests/client/test_plasma_window_model.cpp --- old/kwayland-5.63.0/autotests/client/test_plasma_window_model.cpp 2019-10-06 11:37:54.000000000 +0200 +++ new/kwayland-5.64.0/autotests/client/test_plasma_window_model.cpp 2019-11-02 12:46:37.000000000 +0100 @@ -46,6 +46,8 @@ Q_DECLARE_METATYPE(ServerWindowQuint32Setter) typedef void (KWayland::Server::PlasmaWindowInterface::*ServerWindowVoidSetter)(); Q_DECLARE_METATYPE(ServerWindowVoidSetter) +typedef void (KWayland::Server::PlasmaWindowInterface::*ServerWindowIconSetter)(const QIcon&); +Q_DECLARE_METATYPE(ServerWindowIconSetter) class PlasmaWindowModelTest : public QObject { @@ -881,7 +883,10 @@ QTest::newRow("onallDesktop") << &PlasmaWindow::onAllDesktopsChanged << QVariant::fromValue(&PlasmaWindowInterface::setOnAllDesktops) << QVariant(true); QTest::newRow("title") << &PlasmaWindow::titleChanged << QVariant::fromValue(&PlasmaWindowInterface::setTitle) << QVariant(QStringLiteral("foo")); QTest::newRow("appId") << &PlasmaWindow::appIdChanged << QVariant::fromValue(&PlasmaWindowInterface::setAppId) << QVariant(QStringLiteral("foo")); - QTest::newRow("icon" ) << &PlasmaWindow::iconChanged << QVariant::fromValue(&PlasmaWindowInterface::setThemedIconName) << QVariant(QStringLiteral("foo")); +#if KWAYLANDSERVER_ENABLE_DEPRECATED_SINCE(5, 28) + QTest::newRow("iconname" ) << &PlasmaWindow::iconChanged << QVariant::fromValue(&PlasmaWindowInterface::setThemedIconName) << QVariant(QStringLiteral("foo")); +#endif + QTest::newRow("icon" ) << &PlasmaWindow::iconChanged << QVariant::fromValue(&PlasmaWindowInterface::setIcon) << QVariant::fromValue(QIcon::fromTheme(QStringLiteral("foo"))); QTest::newRow("vd") << &PlasmaWindow::virtualDesktopChanged << QVariant::fromValue(&PlasmaWindowInterface::setVirtualDesktop) << QVariant(2u); QTest::newRow("unmapped") << &PlasmaWindow::unmapped << QVariant::fromValue(&PlasmaWindowInterface::unmap) << QVariant(); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-5.63.0/autotests/client/test_wayland_outputdevice.cpp new/kwayland-5.64.0/autotests/client/test_wayland_outputdevice.cpp --- old/kwayland-5.63.0/autotests/client/test_wayland_outputdevice.cpp 2019-10-06 11:37:54.000000000 +0200 +++ new/kwayland-5.64.0/autotests/client/test_wayland_outputdevice.cpp 2019-11-02 12:46:37.000000000 +0100 @@ -44,7 +44,9 @@ void testRegistry(); void testModeChanges(); +#if KWAYLANDSERVER_ENABLE_DEPRECATED_SINCE(5, 50) void testScaleChange_legacy(); +#endif void testScaleChange(); void testColorCurvesChange(); @@ -207,7 +209,10 @@ QCOMPARE(output.physicalSize(), QSize()); QCOMPARE(output.pixelSize(), QSize()); QCOMPARE(output.refreshRate(), 0); +#if KWAYLANDSERVER_ENABLE_DEPRECATED_SINCE(5, 50) QCOMPARE(output.scale(), 1); +#endif + QCOMPARE(output.scaleF(), 1.0); QCOMPARE(output.colorCurves().red, QVector<quint16>()); QCOMPARE(output.colorCurves().green, QVector<quint16>()); QCOMPARE(output.colorCurves().blue, QVector<quint16>()); @@ -233,7 +238,10 @@ QCOMPARE(output.physicalSize(), QSize(200, 100)); QCOMPARE(output.pixelSize(), QSize(1024, 768)); QCOMPARE(output.refreshRate(), 60000); +#if KWAYLANDSERVER_ENABLE_DEPRECATED_SINCE(5, 50) QCOMPARE(output.scale(), 1); +#endif + QCOMPARE(output.scaleF(), 1.0); QCOMPARE(output.colorCurves().red, m_initColorCurves.red); QCOMPARE(output.colorCurves().green, m_initColorCurves.green); QCOMPARE(output.colorCurves().blue, m_initColorCurves.blue); @@ -346,6 +354,7 @@ QCOMPARE(output.pixelSize(), QSize(1280, 1024)); } +#if KWAYLANDSERVER_ENABLE_DEPRECATED_SINCE(5, 50) void TestWaylandOutputDevice::testScaleChange_legacy() { KWayland::Client::Registry registry; @@ -366,6 +375,7 @@ wl_display_flush(m_connection->display()); QVERIFY(outputChanged.wait()); QCOMPARE(output.scale(), 1); + QCOMPARE(output.scaleF(), 1.0); // change the scale outputChanged.clear(); @@ -382,6 +392,7 @@ QCOMPARE(output.scale(), 4); QCOMPARE(output.scaleF(), 4.0); } +#endif void TestWaylandOutputDevice::testScaleChange() { @@ -408,14 +419,18 @@ outputChanged.clear(); m_serverOutputDevice->setScaleF(2.2); QVERIFY(outputChanged.wait()); +#if KWAYLANDSERVER_ENABLE_DEPRECATED_SINCE(5, 50) QCOMPARE(output.scale(), 2); //check backwards compatibility works +#endif QCOMPARE(wl_fixed_from_double(output.scaleF()), wl_fixed_from_double(2.2)); // change once more outputChanged.clear(); m_serverOutputDevice->setScaleF(4.9); QVERIFY(outputChanged.wait()); +#if KWAYLANDSERVER_ENABLE_DEPRECATED_SINCE(5, 50) QCOMPARE(output.scale(), 5); +#endif QCOMPARE(wl_fixed_from_double(output.scaleF()), wl_fixed_from_double(4.9)); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-5.63.0/autotests/client/test_wayland_outputmanagement.cpp new/kwayland-5.64.0/autotests/client/test_wayland_outputmanagement.cpp --- old/kwayland-5.63.0/autotests/client/test_wayland_outputmanagement.cpp 2019-10-06 11:37:54.000000000 +0200 +++ new/kwayland-5.64.0/autotests/client/test_wayland_outputmanagement.cpp 2019-11-02 12:46:37.000000000 +0100 @@ -270,7 +270,10 @@ QCOMPARE(output->physicalSize(), QSize()); QCOMPARE(output->pixelSize(), QSize()); QCOMPARE(output->refreshRate(), 0); +#if KWAYLANDSERVER_ENABLE_DEPRECATED_SINCE(5, 50) QCOMPARE(output->scale(), 1); +#endif + QCOMPARE(output->scaleF(), 1.0); QCOMPARE(output->colorCurves().red, QVector<quint16>()); QCOMPARE(output->colorCurves().green, QVector<quint16>()); QCOMPARE(output->colorCurves().blue, QVector<quint16>()); @@ -410,7 +413,7 @@ config->setMode(output, m_modes.first().id); config->setTransform(output, OutputDevice::Transform::Rotated90); config->setPosition(output, QPoint(13, 37)); - config->setScale(output, 2); + config->setScaleF(output, 2.0); const auto zeroVector = QVector<quint16>(256, 0); config->setColorCurves(output, zeroVector, zeroVector, zeroVector); config->setEnabled(output, OutputDevice::Enablement::Disabled); @@ -430,7 +433,7 @@ config->setMode(output, m_modes.at(1).id); config->setTransform(output, OutputDevice::Transform::Normal); config->setPosition(output, QPoint(0, 1920)); - config->setScale(output, 1); + config->setScaleF(output, 1.0); const auto oneVector = QVector<quint16>(256, 1); config->setColorCurves(output, oneVector, oneVector, oneVector); config->setEnabled(output, OutputDevice::Enablement::Enabled); @@ -525,9 +528,12 @@ QVERIFY(configAppliedSpy.isValid()); QVERIFY(configAppliedSpy.wait(200)); +#if KWAYLANDSERVER_ENABLE_DEPRECATED_SINCE(5, 50) QCOMPARE(output->scale(), 2); //test backwards compatibility +#endif QCOMPARE(wl_fixed_from_double(output->scaleF()), wl_fixed_from_double(2.3)); +#if KWAYLANDSERVER_ENABLE_DEPRECATED_SINCE(5, 50) config->setScale(output, 3); config->apply(); @@ -538,6 +544,7 @@ QCOMPARE(output->scale(), 3); QCOMPARE(output->scaleF(), 3.0); //test forward compatibility +#endif } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-5.63.0/docs/Doxyfile.local new/kwayland-5.64.0/docs/Doxyfile.local --- old/kwayland-5.63.0/docs/Doxyfile.local 1970-01-01 01:00:00.000000000 +0100 +++ new/kwayland-5.64.0/docs/Doxyfile.local 2019-11-02 12:46:37.000000000 +0100 @@ -0,0 +1,10 @@ +### KApiDox Project-specific Overrides File + +# define so that deprecated API is not skipped +PREDEFINED += \ + "KWAYLANDCLIENT_ENABLE_DEPRECATED_SINCE(x, y)=1" \ + "KWAYLANDCLIENT_BUILD_DEPRECATED_SINCE(x, y)=1" \ + "KWAYLANDCLIENT_DEPRECATED_VERSION(x, y, t)=" \ + "KWAYLANDSERVER_ENABLE_DEPRECATED_SINCE(x, y)=1" \ + "KWAYLANDSERVER_BUILD_DEPRECATED_SINCE(x, y)=1" \ + "KWAYLANDSERVER_DEPRECATED_VERSION(x, y, t)=" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-5.63.0/src/CMakeLists.txt new/kwayland-5.64.0/src/CMakeLists.txt --- old/kwayland-5.63.0/src/CMakeLists.txt 2019-10-06 11:37:54.000000000 +0200 +++ new/kwayland-5.64.0/src/CMakeLists.txt 2019-11-02 12:46:37.000000000 +0100 @@ -40,9 +40,11 @@ KWAYLANDCLIENT_EXPORT KWAYLANDCLIENT_DEPRECATED KWAYLANDCLIENT_DEPRECATED_EXPORT + "KWAYLANDCLIENT_DEPRECATED_VERSION(x, y, t)" KWAYLANDSERVER_EXPORT KWAYLANDSERVER_DEPRECATED KWAYLANDSERVER_DEPRECATED_EXPORT + "KWAYLANDSERVER_DEPRECATED_VERSION(x, y, t)" TAGFILE_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR} QCH_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR} COMPONENT Devel diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-5.63.0/src/client/CMakeLists.txt new/kwayland-5.64.0/src/client/CMakeLists.txt --- old/kwayland-5.63.0/src/client/CMakeLists.txt 2019-10-06 11:37:54.000000000 +0200 +++ new/kwayland-5.64.0/src/client/CMakeLists.txt 2019-11-02 12:46:37.000000000 +0100 @@ -231,13 +231,20 @@ ) add_library(KF5WaylandClient ${CLIENT_LIB_SRCS}) -generate_export_header(KF5WaylandClient +add_library(KF5::WaylandClient ALIAS KF5WaylandClient) +ecm_generate_export_header(KF5WaylandClient BASE_NAME KWaylandClient EXPORT_FILE_NAME KWayland/Client/kwaylandclient_export.h + GROUP_BASE_NAME KF + VERSION ${KF5_VERSION} + DEPRECATED_BASE_VERSION 0 + DEPRECATION_VERSIONS 5.49 5.50 5.52 5.53 ) -add_library(KF5::WaylandClient ALIAS KF5WaylandClient) +# TODO: add support for EXCLUDE_DEPRECATED_BEFORE_AND_AT to all KWayland libs +# needs fixing of undeprecated API being still implemented using own deprecated API + target_include_directories(KF5WaylandClient INTERFACE "$<INSTALL_INTERFACE:${KF5_INCLUDE_INSTALL_DIR}/KWayland/Client>") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-5.63.0/src/client/fakeinput.cpp new/kwayland-5.64.0/src/client/fakeinput.cpp --- old/kwayland-5.63.0/src/client/fakeinput.cpp 2019-10-06 11:37:54.000000000 +0200 +++ new/kwayland-5.64.0/src/client/fakeinput.cpp 2019-11-02 12:46:37.000000000 +0100 @@ -216,6 +216,27 @@ org_kde_kwin_fake_input_touch_frame(d->manager); } +void FakeInput::requestKeyboardKeyPress(quint32 linuxKey) +{ + Q_ASSERT(d->manager.isValid()); + if (wl_proxy_get_version(d->manager) < ORG_KDE_KWIN_FAKE_INPUT_KEYBOARD_KEY_SINCE_VERSION) { + return; + } + + org_kde_kwin_fake_input_keyboard_key(d->manager, linuxKey, WL_KEYBOARD_KEY_STATE_PRESSED); +} + +void FakeInput::requestKeyboardKeyRelease(quint32 linuxKey) +{ + Q_ASSERT(d->manager.isValid()); + if (wl_proxy_get_version(d->manager) < ORG_KDE_KWIN_FAKE_INPUT_KEYBOARD_KEY_SINCE_VERSION) { + return; + } + + org_kde_kwin_fake_input_keyboard_key(d->manager, linuxKey, WL_KEYBOARD_KEY_STATE_RELEASED); +} + + FakeInput::operator org_kde_kwin_fake_input*() const { return d->manager; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-5.63.0/src/client/fakeinput.h new/kwayland-5.64.0/src/client/fakeinput.h --- old/kwayland-5.63.0/src/client/fakeinput.h 2019-10-06 11:37:54.000000000 +0200 +++ new/kwayland-5.64.0/src/client/fakeinput.h 2019-11-02 12:46:37.000000000 +0100 @@ -210,6 +210,21 @@ **/ void requestTouchFrame(); + /** + * Request a keyboard key press. + * @param linuxButton The button code as defined in linux/input-event-codes.h + * + * @since 5.63 + **/ + void requestKeyboardKeyPress(quint32 linuxKey); + /** + * Request a keyboard button release. + * @param linuxButton The button code as defined in linux/input-event-codes.h + * + * @since 5.63 + **/ + void requestKeyboardKeyRelease(quint32 linuxKey); + operator org_kde_kwin_fake_input*(); operator org_kde_kwin_fake_input*() const; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-5.63.0/src/client/outputconfiguration.h new/kwayland-5.64.0/src/client/outputconfiguration.h --- old/kwayland-5.63.0/src/client/outputconfiguration.h 2019-10-06 11:37:54.000000000 +0200 +++ new/kwayland-5.64.0/src/client/outputconfiguration.h 2019-11-02 12:46:37.000000000 +0100 @@ -188,16 +188,19 @@ */ void setPosition(OutputDevice *outputdevice, const QPoint &pos); +#if KWAYLANDCLIENT_ENABLE_DEPRECATED_SINCE(5, 50) /** * Scale rendering of this output. * The changes done in this call will be recorded in the * OutputDevice and only applied after apply() has been called. - * @deprecated see setScaleF(qreal) * * @param scale the scaling factor for this output device. * @param outputdevice the OutputDevice this change applies to. + * @deprecated Since 5.50, use setScaleF(OutputDevice *, qreal) */ + KWAYLANDCLIENT_DEPRECATED_VERSION(5, 50, "Use OutputConfiguration::setScaleF(OutputDevice *, qreal)") void setScale(OutputDevice *outputdevice, qint32 scale); +#endif /** * Scale rendering of this output. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-5.63.0/src/client/outputdevice.h new/kwayland-5.64.0/src/client/outputdevice.h --- old/kwayland-5.63.0/src/client/outputdevice.h 2019-10-06 11:37:54.000000000 +0200 +++ new/kwayland-5.64.0/src/client/outputdevice.h 2019-11-02 12:46:37.000000000 +0100 @@ -190,15 +190,19 @@ * Refresh rate in mHz of the current mode. **/ int refreshRate() const; + +#if KWAYLANDCLIENT_ENABLE_DEPRECATED_SINCE(5, 50) /** * Scaling factor of this output. * * A scale larger than 1 means that the compositor will automatically scale surface buffers * by this amount when rendering. This is used for very high resolution displays where * applications rendering at the native resolution would be too small to be legible. - * @deprecated see scaleF + * @deprecated Since 5.50, use scaleF() **/ + KWAYLANDCLIENT_DEPRECATED_VERSION(5, 50, "Use OutputDevice::scaleF()") int scale() const; +#endif /** * Scaling factor of this output. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-5.63.0/src/client/plasmawindowmanagement.h new/kwayland-5.64.0/src/client/plasmawindowmanagement.h --- old/kwayland-5.63.0/src/client/plasmawindowmanagement.h 2019-10-06 11:37:54.000000000 +0200 +++ new/kwayland-5.64.0/src/client/plasmawindowmanagement.h 2019-11-02 12:46:37.000000000 +0100 @@ -272,13 +272,15 @@ * @see appIdChanged **/ QString appId() const; +#if KWAYLANDCLIENT_ENABLE_DEPRECATED_SINCE(5, 52) /** - * @deprecated: use plasmaVirtualDesktops instead - * @see plasmaVirtualDesktops * @returns the id of the virtual desktop this PlasmaWindow is on * @see virtualDesktopChanged + * @deprecated: Since 5.52, use plasmaVirtualDesktops instead **/ + KWAYLANDCLIENT_DEPRECATED_VERSION(5, 52, "Use PlasmaWindow::plasmaVirtualDesktops()") quint32 virtualDesktop() const; +#endif /** * @returns Whether the window is currently the active Window. * @see activeChanged @@ -411,11 +413,14 @@ * @since 5.22 */ void requestResize(); +#if KWAYLANDCLIENT_ENABLE_DEPRECATED_SINCE(5, 52) /** - * @deprecated: use requestEnterVirtualDesktop instead * Requests to send the window to virtual @p desktop. + * @deprecated: Since 5.52, use requestEnterVirtualDesktop instead **/ + KWAYLANDCLIENT_DEPRECATED_VERSION(5, 52, "Use PlasmaWindow::requestEnterVirtualDesktop(const QString &)") void requestVirtualDesktop(quint32 desktop); +#endif /** * Requests the window at this model row index have its keep above state toggled. @@ -529,11 +534,14 @@ * @see appId **/ void appIdChanged(); +#if KWAYLANDCLIENT_ENABLE_DEPRECATED_SINCE(5, 52) /** - * @deprecated use plasmaVirtualDesktopEntered and plasmaVirtualDesktopLeft instead * The virtual desktop changed. + * @deprecated Since 5.52, use plasmaVirtualDesktopEntered and plasmaVirtualDesktopLeft instead **/ + KWAYLANDCLIENT_DEPRECATED_VERSION(5, 52, "Use PlasmaWindow::plasmaVirtualDesktopEntered(const QString &) and PlasmaWindow::plasmaVirtualDesktopLeft(const QString &)") void virtualDesktopChanged(); +#endif /** * The window became active or inactive. * @see isActive diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-5.63.0/src/client/plasmawindowmodel.h new/kwayland-5.64.0/src/client/plasmawindowmodel.h --- old/kwayland-5.63.0/src/client/plasmawindowmodel.h 2019-10-06 11:37:54.000000000 +0200 +++ new/kwayland-5.64.0/src/client/plasmawindowmodel.h 2019-11-02 12:46:37.000000000 +0100 @@ -70,10 +70,14 @@ IsMinimized, IsKeepAbove, IsKeepBelow, +#if KWAYLANDCLIENT_ENABLE_DEPRECATED_SINCE(5, 53) /** - @deprecated @see VirtualDesktops + @deprecated Since 5.53, use VirtualDesktops */ VirtualDesktop, +#else + VirtualDesktop_DEPRECATED_DO_NOT_USE, +#endif IsOnAllDesktops, IsDemandingAttention, SkipTaskbar, @@ -114,7 +118,7 @@ */ SkipSwitcher, /** - * @since 5.55 + * @since 5.53 */ VirtualDesktops }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-5.63.0/src/client/protocols/fake-input.xml new/kwayland-5.64.0/src/client/protocols/fake-input.xml --- old/kwayland-5.63.0/src/client/protocols/fake-input.xml 2019-10-06 11:37:54.000000000 +0200 +++ new/kwayland-5.64.0/src/client/protocols/fake-input.xml 2019-11-02 12:46:37.000000000 +0100 @@ -16,7 +16,7 @@ You should have received a copy of the GNU Lesser General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. ]]></copyright> - <interface name="org_kde_kwin_fake_input" version="3"> + <interface name="org_kde_kwin_fake_input" version="4"> <description summary="Fake input manager"> This interface allows other processes to provide fake input events. Purpose is on the one hand side to provide testing facilities like XTest on X11. @@ -87,5 +87,9 @@ <arg name="x" type="fixed"/> <arg name="y" type="fixed"/> </request> + <request name="keyboard_key" since="4"> + <arg name="button" type="uint"/> + <arg name="state" type="uint"/> + </request> </interface> </protocol> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-5.63.0/src/client/registry.cpp new/kwayland-5.64.0/src/client/registry.cpp --- old/kwayland-5.63.0/src/client/registry.cpp 2019-10-06 11:37:54.000000000 +0200 +++ new/kwayland-5.64.0/src/client/registry.cpp 2019-11-02 12:46:37.000000000 +0100 @@ -206,7 +206,7 @@ &Registry::remoteAccessManagerRemoved }}, {Registry::Interface::FakeInput, { - 3, + 4, QByteArrayLiteral("org_kde_kwin_fake_input"), &org_kde_kwin_fake_input_interface, &Registry::fakeInputAnnounced, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-5.63.0/src/client/xdgshell.h new/kwayland-5.64.0/src/client/xdgshell.h --- old/kwayland-5.63.0/src/client/xdgshell.h 2019-10-06 11:37:54.000000000 +0200 +++ new/kwayland-5.64.0/src/client/xdgshell.h 2019-11-02 12:46:37.000000000 +0100 @@ -530,8 +530,9 @@ * When using XdgShell::createXdgShellPopup there is no need to call this * method. * - * This was for XDGShellV5, this is now deprecated + * @deprecated Since 5.49. This was for XDGShellV5, this is now deprecated **/ + KWAYLANDCLIENT_DEPRECATED_VERSION(5, 49, "Use XDGShell version >5") void setup(xdg_popup *xdgpopupv5); /** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-5.63.0/src/server/CMakeLists.txt new/kwayland-5.64.0/src/server/CMakeLists.txt --- old/kwayland-5.63.0/src/server/CMakeLists.txt 2019-10-06 11:37:54.000000000 +0200 +++ new/kwayland-5.64.0/src/server/CMakeLists.txt 2019-11-02 12:46:37.000000000 +0100 @@ -282,16 +282,21 @@ set_source_files_properties(${SERVER_GENERATED_SRCS} PROPERTIES SKIP_AUTOMOC ON) add_library(KF5WaylandServer ${SERVER_LIB_SRCS}) -generate_export_header(KF5WaylandServer +add_library(KF5::WaylandServer ALIAS KF5WaylandServer) +ecm_generate_export_header(KF5WaylandServer BASE_NAME KWaylandServer EXPORT_FILE_NAME KWayland/Server/kwaylandserver_export.h + GROUP_BASE_NAME KF + VERSION ${KF5_VERSION} + DEPRECATED_BASE_VERSION 0 + DEPRECATION_VERSIONS 5.5 5.28 5.50 5.52 ) +# TODO: add support for EXCLUDE_DEPRECATED_BEFORE_AND_AT to all KWayland libs +# needs fixing of undeprecated API being still implemented using own deprecated API -add_library(KF5::WaylandServer ALIAS KF5WaylandServer) - target_include_directories(KF5WaylandServer INTERFACE "$<INSTALL_INTERFACE:${KF5_INCLUDE_INSTALL_DIR}/KWayland/Server>") target_link_libraries(KF5WaylandServer diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-5.63.0/src/server/fakeinput_interface.cpp new/kwayland-5.64.0/src/server/fakeinput_interface.cpp --- old/kwayland-5.63.0/src/server/fakeinput_interface.cpp 2019-10-06 11:37:54.000000000 +0200 +++ new/kwayland-5.64.0/src/server/fakeinput_interface.cpp 2019-11-02 12:46:37.000000000 +0100 @@ -50,6 +50,7 @@ static void touchUpCallback(wl_client *client, wl_resource *resource, quint32 id); static void touchCancelCallback(wl_client *client, wl_resource *resource); static void touchFrameCallback(wl_client *client, wl_resource *resource); + static void keyboardKeyCallback(wl_client *client, wl_resource *resource, uint32_t button, uint32_t state); static void unbind(wl_resource *resource); static Private *cast(wl_resource *r) { @@ -75,7 +76,7 @@ FakeInputDevice *q; }; -const quint32 FakeInputInterface::Private::s_version = 3; +const quint32 FakeInputInterface::Private::s_version = 4; QList<quint32> FakeInputInterface::Private::touchIds = QList<quint32>(); #ifndef DOXYGEN_SHOULD_SKIP_THIS @@ -89,7 +90,8 @@ touchUpCallback, touchCancelCallback, touchFrameCallback, - pointerMotionAbsoluteCallback + pointerMotionAbsoluteCallback, + keyboardKeyCallback }; #endif @@ -265,6 +267,26 @@ emit d->touchFrameRequested(); } +void FakeInputInterface::Private::keyboardKeyCallback(wl_client *client, wl_resource *resource, uint32_t button, uint32_t state) +{ + Q_UNUSED(client) + FakeInputDevice *d = device(resource); + if (!d || !d->isAuthenticated()) { + return; + } + switch (state) { + case WL_KEYBOARD_KEY_STATE_PRESSED: + emit d->keyboardKeyPressRequested(button); + break; + case WL_KEYBOARD_KEY_STATE_RELEASED: + emit d->keyboardKeyReleaseRequested(button); + break; + default: + // nothing + break; + } +} + FakeInputInterface::FakeInputInterface(Display *display, QObject *parent) : Global(new Private(this, display), parent) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-5.63.0/src/server/fakeinput_interface.h new/kwayland-5.64.0/src/server/fakeinput_interface.h --- old/kwayland-5.63.0/src/server/fakeinput_interface.h 2019-10-06 11:37:54.000000000 +0200 +++ new/kwayland-5.64.0/src/server/fakeinput_interface.h 2019-11-02 12:46:37.000000000 +0100 @@ -161,6 +161,18 @@ * @since 5.23 **/ void touchFrameRequested(); + /** + * Requests a keyboard key pressed for @p key. + * + * @since 5.63 + **/ + void keyboardKeyPressRequested(quint32 key); + /** + * Requests a keyboard key release for @p key. + * + * @since 5.63 + **/ + void keyboardKeyReleaseRequested(quint32 key); private: friend class FakeInputInterface; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-5.63.0/src/server/outputchangeset.cpp new/kwayland-5.64.0/src/server/outputchangeset.cpp --- old/kwayland-5.63.0/src/server/outputchangeset.cpp 2019-10-06 11:37:54.000000000 +0200 +++ new/kwayland-5.64.0/src/server/outputchangeset.cpp 2019-11-02 12:46:37.000000000 +0100 @@ -33,7 +33,7 @@ , modeId(o->currentModeId()) , transform(o->transform()) , position(o->globalPosition()) - , scale(o->scale()) + , scale(o->scaleF()) , colorCurves(o->colorCurves()) { } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-5.63.0/src/server/outputchangeset.h new/kwayland-5.64.0/src/server/outputchangeset.h --- old/kwayland-5.63.0/src/server/outputchangeset.h 2019-10-06 11:37:54.000000000 +0200 +++ new/kwayland-5.64.0/src/server/outputchangeset.h 2019-11-02 12:46:37.000000000 +0100 @@ -82,12 +82,15 @@ OutputDeviceInterface::Transform transform() const; /** The new value for globalPosition. */ QPoint position() const; +#if KWAYLANDSERVER_ENABLE_DEPRECATED_SINCE(5, 50) /** The new value for scale. - @deprecated see scaleF + @deprecated Since 5.50, use scaleF */ + KWAYLANDSERVER_DEPRECATED_VERSION(5, 50, "Use OutputChangeSet::scaleF()") int scale() const; +#endif /** The new value for scale. - * @since 5.XX + * @since 5.50 */ qreal scaleF() const; /** The new value for colorCurves. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-5.63.0/src/server/outputdevice_interface.h new/kwayland-5.64.0/src/server/outputdevice_interface.h --- old/kwayland-5.63.0/src/server/outputdevice_interface.h 2019-10-06 11:37:54.000000000 +0200 +++ new/kwayland-5.64.0/src/server/outputdevice_interface.h 2019-11-02 12:46:37.000000000 +0100 @@ -109,7 +109,12 @@ QString eisaId() const; QSize pixelSize() const; int refreshRate() const; +#if KWAYLANDSERVER_ENABLE_DEPRECATED_SINCE(5, 50) + /// @deprecated Since 5.50, use scaleF() + KWAYLANDSERVER_DEPRECATED_VERSION(5, 50, "Use OutputDeviceInterface::scaleF()") int scale() const; +#endif + /// @since 5.50 qreal scaleF() const; SubPixel subPixel() const; Transform transform() const; @@ -127,7 +132,12 @@ void setModel(const QString &model); void setSerialNumber(const QString &serialNumber); void setEisaId(const QString &eisaId); +#if KWAYLANDSERVER_ENABLE_DEPRECATED_SINCE(5, 50) + /// @deprecated Since 5.50, use setScale(qreal) + KWAYLANDSERVER_DEPRECATED_VERSION(5, 50, "Use OutputDeviceInterface::setScale(qreal)") void setScale(int scale); +#endif + /// @since 5.50 void setScaleF(qreal scale); void setSubPixel(SubPixel subPixel); void setTransform(Transform transform); @@ -158,8 +168,12 @@ void eisaIdChanged(const QString &); void pixelSizeChanged(const QSize&); void refreshRateChanged(int); - //@deprecated see scaleChanged(real) +#if KWAYLANDSERVER_ENABLE_DEPRECATED_SINCE(5, 50) + /// @deprecated Since 5.50, use scaleFChanged(qreal) + KWAYLANDSERVER_DEPRECATED_VERSION(5, 50, "Use OutputDeviceInterface::scaleFChanged(qreal)") void scaleChanged(int); +#endif + /// @since 5.50 void scaleFChanged(qreal); void subPixelChanged(SubPixel); void transformChanged(Transform); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-5.63.0/src/server/plasmawindowmanagement_interface.cpp new/kwayland-5.64.0/src/server/plasmawindowmanagement_interface.cpp --- old/kwayland-5.63.0/src/server/plasmawindowmanagement_interface.cpp 2019-10-06 11:37:54.000000000 +0200 +++ new/kwayland-5.64.0/src/server/plasmawindowmanagement_interface.cpp 2019-11-02 12:46:37.000000000 +0100 @@ -738,12 +738,10 @@ d->setTitle(title); } -#ifndef KWAYLANDSERVER_NO_DEPRECATED void PlasmaWindowInterface::setVirtualDesktop(quint32 desktop) { d->setVirtualDesktop(desktop); } -#endif void PlasmaWindowInterface::unmap() { @@ -857,12 +855,10 @@ d->setState(ORG_KDE_PLASMA_WINDOW_MANAGEMENT_STATE_SKIPSWITCHER, skip); } -#ifndef KWAYLANDSERVER_NO_DEPRECATED void PlasmaWindowInterface::setThemedIconName(const QString &iconName) { d->setThemedIconName(iconName); } -#endif void PlasmaWindowInterface::setIcon(const QIcon &icon) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-5.63.0/src/server/plasmawindowmanagement_interface.h new/kwayland-5.64.0/src/server/plasmawindowmanagement_interface.h --- old/kwayland-5.63.0/src/server/plasmawindowmanagement_interface.h 2019-10-06 11:37:54.000000000 +0200 +++ new/kwayland-5.64.0/src/server/plasmawindowmanagement_interface.h 2019-11-02 12:46:37.000000000 +0100 @@ -109,11 +109,12 @@ void setTitle(const QString &title); void setAppId(const QString &appId); void setPid(quint32 pid); -#ifndef KWAYLANDSERVER_NO_DEPRECATED +#if KWAYLANDSERVER_ENABLE_DEPRECATED_SINCE(5, 52) /** - * @deprecated use addPlasmaVirtualDesktop and removePlasmaVirtualDesktop + * @deprecated Since 5.52, use addPlasmaVirtualDesktop and removePlasmaVirtualDesktop */ - void KWAYLANDSERVER_DEPRECATED setVirtualDesktop(quint32 desktop); + KWAYLANDSERVER_DEPRECATED_VERSION(5, 52, "Use PlasmaWindowManagementInterface::addPlasmaVirtualDesktop(const QString&) and PlasmaWindowManagementInterface::removePlasmaVirtualDesktop(const QString&)") + void setVirtualDesktop(quint32 desktop); #endif void setActive(bool set); void setMinimized(bool set); @@ -129,12 +130,12 @@ void setFullscreenable(bool set); void setSkipTaskbar(bool skip); void setSkipSwitcher(bool skip); +#if KWAYLANDSERVER_ENABLE_DEPRECATED_SINCE(5, 28) /** * @deprecated since 5.28 use setIcon - * @see setIcon **/ -#ifndef KWAYLANDSERVER_NO_DEPRECATED - void KWAYLANDSERVER_DEPRECATED setThemedIconName(const QString &iconName); + KWAYLANDSERVER_DEPRECATED_VERSION(5, 28, "Use PlasmaWindowManagementInterface::setIcon(const QIcon&)") + void setThemedIconName(const QString &iconName); #endif /** * @since 5.22 @@ -237,11 +238,12 @@ * @since 5.22 */ void resizeRequested(); -#ifndef KWAYLANDSERVER_NO_DEPRECATED +#if KWAYLANDSERVER_ENABLE_DEPRECATED_SINCE(5, 52) /** - * @deprecated use enterPlasmaVirtualDesktopRequested and leavePlasmaVirtualDesktopRequested instead + * @deprecated Since 5.52, use enterPlasmaVirtualDesktopRequested and leavePlasmaVirtualDesktopRequested instead */ - void KWAYLANDSERVER_DEPRECATED virtualDesktopRequested(quint32 desktop); + KWAYLANDSERVER_DEPRECATED_VERSION(5, 52, "Use PlasmaWindowManagementInterface::enterPlasmaVirtualDesktopRequested(const QString&) and PlasmaWindowManagementInterface::leavePlasmaVirtualDesktopRequested(const QString&)") + void virtualDesktopRequested(quint32 desktop); #endif void activeRequested(bool set); void minimizedRequested(bool set); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-5.63.0/src/server/seat_interface.h new/kwayland-5.64.0/src/server/seat_interface.h --- old/kwayland-5.63.0/src/server/seat_interface.h 2019-10-06 11:37:54.000000000 +0200 +++ new/kwayland-5.64.0/src/server/seat_interface.h 2019-11-02 12:46:37.000000000 +0100 @@ -132,7 +132,7 @@ Q_PROPERTY(bool keyboard READ hasKeyboard WRITE setHasKeyboard NOTIFY hasKeyboardChanged) /** * Whether the SeatInterface supports a touch device. - * @deprecated use touch + * @deprecated Since 5.5, use touch **/ Q_PROPERTY(bool tourch READ hasTouch WRITE setHasTouch NOTIFY hasTouchChanged) /** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-5.63.0/src/server/surface_interface.h new/kwayland-5.64.0/src/server/surface_interface.h --- old/kwayland-5.63.0/src/server/surface_interface.h 2019-10-06 11:37:54.000000000 +0200 +++ new/kwayland-5.64.0/src/server/surface_interface.h 2019-11-02 12:46:37.000000000 +0100 @@ -99,12 +99,14 @@ QRegion damage() const; QRegion opaque() const; QRegion input() const; +#if KWAYLANDSERVER_ENABLE_DEPRECATED_SINCE(5, 5) /** * Use Surface::inputIsInfinite instead. - * @deprecated - * @see inputIsInfinite + * @deprecated Since 5.5, use inputIsInfinite */ + KWAYLANDSERVER_DEPRECATED_VERSION(5, 5, "Use SurfaceInterface::inputIsInfinite()") bool inputIsInfitine() const; +#endif /** * Replaces Surface::inputIsInfitine instead. * @since 5.5
