Hello community, here is the log from the commit of package libkscreen2 for openSUSE:Factory checked in at 2017-06-01 16:26:10 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libkscreen2 (Old) and /work/SRC/openSUSE:Factory/.libkscreen2.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libkscreen2" Thu Jun 1 16:26:10 2017 rev:48 rq:498806 version:5.10.0 Changes: -------- --- /work/SRC/openSUSE:Factory/libkscreen2/libkscreen2.changes 2017-04-30 21:13:41.443048321 +0200 +++ /work/SRC/openSUSE:Factory/.libkscreen2.new/libkscreen2.changes 2017-06-01 16:26:11.638457556 +0200 @@ -1,0 +2,25 @@ +Fri May 26 14:10:31 CEST 2017 - [email protected] + +- Update to 5.10.0 + * New feature release + * For more details please see: + * https://www.kde.org/announcements/plasma-5.10.0.php +- Changes since 5.9.95: + * None + +------------------------------------------------------------------- +Thu May 11 20:26:25 CEST 2017 - [email protected] + +- Update to 5.9.95 + * New feature release + * For more details please see: + * https://www.kde.org/announcements/plasma-5.9.95.php +- Changes since 5.9.5: + * Sync scale to/from KScreen configs + * Sync kscreen outputs to wayland + * Fix compile warning of treating boolean like an integer + * Fix Output::geometry() when dealing with a scaled monitor + * Sync wayland output scale to KScreen config + * Fix type argument for get property call + +------------------------------------------------------------------- Old: ---- libkscreen-5.9.5.tar.xz New: ---- libkscreen-5.10.0.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libkscreen2.spec ++++++ --- /var/tmp/diff_new_pack.TO3N5k/_old 2017-06-01 16:26:12.270368452 +0200 +++ /var/tmp/diff_new_pack.TO3N5k/_new 2017-06-01 16:26:12.274367889 +0200 @@ -18,11 +18,11 @@ %define lname libKF5Screen7 Name: libkscreen2 -Version: 5.9.5 +Version: 5.10.0 Release: 0 -# Full Plasma 5 version (e.g. 5.9.4) +# Full Plasma 5 version (e.g. 5.8.95) %{!?_plasma5_bugfix: %global _plasma5_bugfix %{version}} -# Lasted ABI-stable Plasma (e.g. 5.8 in KF5, but 5.9.4 in KUF) +# Lasted ABI-stable Plasma (e.g. 5.8 in KF5, but 5.8.95 in KUF) %{!?_plasma5_version: %global _plasma5_version %(echo %{_plasma5_bugfix} | awk -F. '{print $1"."$2}')} BuildRequires: cmake >= 2.8.12 BuildRequires: extra-cmake-modules >= 5.14.0 @@ -40,7 +40,7 @@ License: GPL-2.0+ Group: System/GUI/KDE Url: http://www.kde.org -Source: http://download.kde.org/stable/plasma/%{version}/libkscreen-%{version}.tar.xz +Source: libkscreen-%{version}.tar.xz Source1: baselibs.conf BuildRoot: %{_tmppath}/%{name}-%{version}-build ++++++ libkscreen-5.9.5.tar.xz -> libkscreen-5.10.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libkscreen-5.9.5/CMakeLists.txt new/libkscreen-5.10.0/CMakeLists.txt --- old/libkscreen-5.9.5/CMakeLists.txt 2017-04-25 15:05:00.000000000 +0200 +++ new/libkscreen-5.10.0/CMakeLists.txt 2017-05-26 10:55:40.000000000 +0200 @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 2.8.12) project(libkscreen) -set(PROJECT_VERSION "5.9.5") +set(PROJECT_VERSION "5.10.0") find_package(ECM 5.14.0 REQUIRED NO_MODULE) set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR}) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libkscreen-5.9.5/backends/kwayland/waylandconfig.cpp new/libkscreen-5.10.0/backends/kwayland/waylandconfig.cpp --- old/libkscreen-5.9.5/backends/kwayland/waylandconfig.cpp 2017-04-25 15:05:00.000000000 +0200 +++ new/libkscreen-5.10.0/backends/kwayland/waylandconfig.cpp 2017-05-26 10:55:40.000000000 +0200 @@ -236,7 +236,7 @@ void WaylandConfig::updateKScreenConfig(KScreen::ConfigPtr &config) const { - auto features = Config::Feature::Writable; + auto features = Config::Feature::Writable | Config::Feature::PerOutputScaling; config->setSupportedFeatures(features); config->setValid(m_connection->display()); KScreen::ScreenPtr screen = config->screen(); @@ -297,6 +297,10 @@ wlOutputConfiguration->setPosition(o_old->outputDevice(), output->pos()); } + if (device->scale() != output->scale()) { + wlOutputConfiguration->setScale(o_old->outputDevice(), output->scale()); + } + // rotation auto r_current = o_old->toKScreenRotation(device->transform()); auto r_new = output->rotation(); @@ -311,8 +315,6 @@ if (w_newmodeid != w_currentmodeid) { wlOutputConfiguration->setMode(device, w_newmodeid); } - - // FIXME: scale } // We now block changes in order to compress events while the compositor is doing its thing diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libkscreen-5.9.5/backends/kwayland/waylandoutput.cpp new/libkscreen-5.10.0/backends/kwayland/waylandoutput.cpp --- old/libkscreen-5.9.5/backends/kwayland/waylandoutput.cpp 2017-04-25 15:05:00.000000000 +0200 +++ new/libkscreen-5.10.0/backends/kwayland/waylandoutput.cpp 2017-05-26 10:55:40.000000000 +0200 @@ -163,6 +163,7 @@ output->setCurrentModeId(currentModeId); output->setModes(modeList); + output->setScale(m_output->scale()); } QString WaylandOutput::modeName(const KWayland::Client::OutputDevice::Mode &m) const diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libkscreen-5.9.5/backends/kwayland/waylandscreen.cpp new/libkscreen-5.10.0/backends/kwayland/waylandscreen.cpp --- old/libkscreen-5.9.5/backends/kwayland/waylandscreen.cpp 2017-04-25 15:05:00.000000000 +0200 +++ new/libkscreen-5.10.0/backends/kwayland/waylandscreen.cpp 2017-05-26 10:55:40.000000000 +0200 @@ -49,7 +49,7 @@ QRect r; Q_FOREACH (auto o, outputs) { if (o->enabled()) { - r |= QRect(o->outputDevice()->globalPosition(), o->outputDevice()->pixelSize()); + r |= QRect(o->outputDevice()->globalPosition(), o->outputDevice()->pixelSize() / o->outputDevice()->scale()); } } m_size = r.size(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libkscreen-5.9.5/src/configserializer.cpp new/libkscreen-5.10.0/src/configserializer.cpp --- old/libkscreen-5.9.5/src/configserializer.cpp 2017-04-25 15:05:00.000000000 +0200 +++ new/libkscreen-5.10.0/src/configserializer.cpp 2017-05-26 10:55:40.000000000 +0200 @@ -78,6 +78,7 @@ obj[QLatin1String("type")] = static_cast<int>(output->type()); obj[QLatin1String("icon")] = output->icon(); obj[QLatin1String("pos")] = serializePoint(output->pos()); + obj[QLatin1String("scale")] = output->scale(); obj[QLatin1String("size")] = serializeSize(output->size()); obj[QLatin1String("rotation")] = static_cast<int>(output->rotation()); obj[QLatin1String("currentModeId")] = output->currentModeId(); @@ -223,6 +224,8 @@ output->setIcon(value.toString()); } else if (key == QLatin1String("pos")) { output->setPos(deserializePoint(value.value<QDBusArgument>())); + } else if (key == QLatin1String("scale")) { + output->setScale(value.toDouble()); } else if (key == QLatin1String("size")) { output->setSize(deserializeSize(value.value<QDBusArgument>())); } else if (key == QLatin1String("rotation")) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libkscreen-5.9.5/src/doctor/dpmsclient.h new/libkscreen-5.10.0/src/doctor/dpmsclient.h --- old/libkscreen-5.9.5/src/doctor/dpmsclient.h 2017-04-25 15:05:00.000000000 +0200 +++ new/libkscreen-5.10.0/src/doctor/dpmsclient.h 2017-05-26 10:55:40.000000000 +0200 @@ -69,7 +69,7 @@ bool m_setOn = false; bool m_supportedOututCount = 0; - bool m_modeChanges = 0; + int m_modeChanges = 0; }; } // namespace diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libkscreen-5.9.5/src/output.cpp new/libkscreen-5.10.0/src/output.cpp --- old/libkscreen-5.9.5/src/output.cpp 2017-04-25 15:05:00.000000000 +0200 +++ new/libkscreen-5.10.0/src/output.cpp 2017-05-26 10:55:40.000000000 +0200 @@ -488,9 +488,13 @@ // We can't use QRect(d->pos, d->size), because d->size does not reflect the // actual rotation() set by caller, it's only updated when we get update from // KScreen, but not when user changes mode or rotation manually - return isHorizontal() - ? QRect(d->pos, currentMode()->size()) - : QRect(d->pos, currentMode()->size().transposed()); + + QSize size = currentMode()->size() / d->scale; + if (!isHorizontal()) { + size = size.transposed(); + } + + return QRect(d->pos, size); } void Output::apply(const OutputPtr& other)
