Hello community, here is the log from the commit of package plasma5-workspace for openSUSE:Factory checked in at 2017-01-31 12:25:50 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/plasma5-workspace (Old) and /work/SRC/openSUSE:Factory/.plasma5-workspace.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "plasma5-workspace" Changes: -------- --- /work/SRC/openSUSE:Factory/plasma5-workspace/plasma5-workspace.changes 2017-01-04 17:28:29.865806331 +0100 +++ /work/SRC/openSUSE:Factory/.plasma5-workspace.new/plasma5-workspace.changes 2017-02-03 18:56:12.471562300 +0100 @@ -1,0 +2,78 @@ +Sat Jan 28 15:47:20 UTC 2017 - wba...@tmo.at + +- Add cmake(KF5Prison) build requirement to enable the clipboard's + barcode generation feature + +------------------------------------------------------------------- +Sat Jan 28 09:44:48 UTC 2017 - fab...@ritter-vogt.de + +- Bump required KF5 version to 5.29 +- Add upstream patch to fix some multiscreen issues: + * 0002-fix-isOutputRedundant-logic.patch + +------------------------------------------------------------------- +Thu Jan 26 19:59:03 CET 2017 - fab...@ritter-vogt.de + +- Update to 5.9.0 + * New feature release + * For more details please see: + * https://www.kde.org/announcements/plasma-5.9.0.php +- Add upstream patch to fix kde#375532: + * 0001-When-swapping-Wallpapers-save-the-config-to-file-not.patch +- Changes since 5.8.95: + * [Icon Applet] Use KIO::statJob to work with remote URLs + * Fix group parents not appearing when disabling inline grouping. + * [Image Wallpaper] Provide fallback for thumbnail size of no "plasmoid" around + * only reset the model after componentComplete() + * [lookandfeel] Breeze window decoration + * Fix "Unpin" for tasks pinned to specific activities. + * applets/icon: Set i18n domain (patch by Victor<victorr2...@narod.ru>) + * use Q_FOREACH in this branch + * Corona::screenGeometryChanged on qscreen resized + * add #include <QtQml> for old Qt versions + * Replace std::bind with lambda. + * try to put annotations before parameters definition + * fix dbus xml compilation + * guard against menu being deleted whilst updating + * Hide menu if the menu disappears off DBus + * Don't re-evaluate the model constantly whilst looping through windows + * Generate DBusMenu Interface for libdbusmenuqt + * pre-load the first layer of sub menus + * Signal which menu has updated in libdbusmenu-qt + * Don't hide applet when it needs configuring + * Don't load menu when switching window focus to the desktop + * Keep AppletMenu as small as possible + * Fix calling KWindowSystem::windowType without fetching the type + * Enable Edit Action in plasmoid mode + * Fix mapToGlobal + * Show "All Widgets" even when showSpecialFilters=false. + * [Icon Applet] Rename open() to run() to fix compilation on 32-bit + +------------------------------------------------------------------- +Thu Jan 12 20:39:58 UTC 2017 - fab...@ritter-vogt.de + +- Update to 5.8.95 (Plasma 5.9 Beta) + * New feature release + * For more details please see: + https://www.kde.org/announcements/plasma-5.8.95.php +- Changes: + * See https://www.kde.org/announcements/plasma-5.8.5-5.8.95-changelog.php#plasma-workspace +- Remove patches, now upstream: + * 0001-better-clean-up-of-duplicate-containments.patch +- Workaround made unnecessary by upstream commits: + * add-tray-icon-cache.patch + +------------------------------------------------------------------- +Tue Jan 10 20:42:09 UTC 2017 - fab...@ritter-vogt.de + +- Add experimental patch to fix some dangling duplicate + containments in the -appletsrc: + * 0001-better-clean-up-of-duplicate-containments.patch + +------------------------------------------------------------------- +Thu Dec 29 11:41:27 UTC 2016 - tittiatc...@gmail.com + +- Require also the main package from the devel package. This is + required to get the required layouts for the servicetypes. + +------------------------------------------------------------------- Old: ---- add-tray-icon-cache.patch plasma-workspace-5.8.5.tar.xz New: ---- 0001-When-swapping-Wallpapers-save-the-config-to-file-not.patch 0002-fix-isOutputRedundant-logic.patch plasma-workspace-5.9.0.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ plasma5-workspace.spec ++++++ --- /var/tmp/diff_new_pack.Cq6f93/_old 2017-02-03 18:56:13.135469069 +0100 +++ /var/tmp/diff_new_pack.Cq6f93/_new 2017-02-03 18:56:13.139468507 +0100 @@ -1,7 +1,7 @@ # # spec file for package plasma5-workspace # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,21 +16,21 @@ # -%define kf5_version 5.26.0 +%define kf5_version 5.29.0 %bcond_without lang Name: plasma5-workspace -Version: 5.8.5 +Version: 5.9.0 Release: 0 -# Full Plasma 5 version (e.g. 5.8.5) +# Full Plasma 5 version (e.g. 5.9.0) %{!?_plasma5_bugfix: %global _plasma5_bugfix %{version}} -# Lasted ABI-stable Plasma (e.g. 5.8 in KF5, but 5.8.90 in KUF) +# Lasted ABI-stable Plasma (e.g. 5.8 in KF5, but 5.9.0 in KUF) %{!?_plasma5_version: %global _plasma5_version %(echo %{_plasma5_bugfix} | awk -F. '{print $1"."$2}')} Summary: The KDE Plasma Workspace Components License: GPL-2.0+ Group: System/GUI/KDE Url: http://www.kde.org/ -Source: http://download.kde.org/stable/plasma/%{version}/plasma-workspace-%{version}.tar.xz +Source: plasma-workspace-%{version}.tar.xz Source1: baselibs.conf # PATCH-FIX-OPENSUSE 0001-Rename-qdbus-in-startkde.patch cgiboude...@gmx.com -- Rename the qdbus executable in startkde Patch0: 0001-Rename-qdbus-in-startkde.patch @@ -38,10 +38,12 @@ Patch1: change-kioremote-severity.patch # PATCH-FIX-OPENSUSE 0001-Ignore-default-sddm-face-icons.patch boo#1001364 fab...@ritter-vogt.de -- Ignore default sddm face icons Patch2: 0001-Ignore-default-sddm-face-icons.patch -# PATCH-FIX-OPENSUSE add-tray-icon-cache.patch kde#356479 fab...@ritter-vogt.de -- Workaround for high load due to animated tray icons -Patch3: add-tray-icon-cache.patch -# PATCHES 100-200 and above are from upstream 5.8 branch -# PATCHES 201-300 and above are from upstream master/5.9 branch +# PATCHES 100-200 and above are from upstream 5.9 branch +# PATCH-FIX-UPSTREAM 0001-When-swapping-Wallpapers-save-the-config-to-file-not.patch k...@davidedmundson.co.uk -- When swapping Wallpapers, save the config to file +Patch100: 0001-When-swapping-Wallpapers-save-the-config-to-file-not.patch +# PATCH-FIX-UPSTREAM 0002-fix-isOutputRedundant-logic.patch notm...@gmail.com -- fix isOutputRedundant logic +Patch101: 0002-fix-isOutputRedundant-logic.patch +# PATCHES 201-300 and above are from upstream master/5.10 branch BuildRequires: breeze5-icons BuildRequires: fdupes BuildRequires: kf5-filesystem @@ -67,6 +69,7 @@ BuildRequires: cmake(KF5Package) >= %{kf5_version} BuildRequires: cmake(KF5Plasma) >= %{kf5_version} BuildRequires: cmake(KF5PlasmaQuick) +BuildRequires: cmake(KF5Prison) >= %{kf5_version} BuildRequires: cmake(KF5Runner) >= %{kf5_version} BuildRequires: cmake(KF5Screen) >= 5.0.93 BuildRequires: cmake(KF5Solid) >= %{kf5_version} @@ -188,6 +191,7 @@ %package devel Summary: The KDE Plasma Workspace Components Group: Development/Libraries/KDE +Requires: %{name} >= %{version} Requires: %{name}-libs = %{version}-%{release} Requires: cmake(KF5SysGuard) >= %{_plasma5_version} Requires: cmake(KF5Wayland) >= %{kf5_version} @@ -210,7 +214,8 @@ %patch0 -p1 %patch1 -p1 %patch2 -p1 -%patch3 -p1 +%patch100 -p1 +%patch101 -p1 %build %cmake_kf5 -d build -- -DKDE4_COMMON_PAM_SERVICE=xdm -DKDE_DEFAULT_HOME=.kde4 -DCMAKE_INSTALL_LOCALEDIR=%{_kf5_localedir} @@ -279,11 +284,13 @@ %{_kf5_libdir}/libexec/ksyncdbusenv %{_kf5_libdir}/libexec/startplasma %{_kf5_libdir}/libexec/ksmserver-logout-greeter +%{_kf5_libdir}/libexec/ksmserver-switchuser-greeter %{_kf5_libdir}/libkdeinit5_kcminit.so %{_kf5_libdir}/libkdeinit5_kcminit_startup.so %{_kf5_libdir}/libkdeinit5_klipper.so %{_kf5_libdir}/libkdeinit5_ksmserver.so %{_kf5_libdir}/libkdeinit5_kuiserver5.so +%{_kf5_libdir}/kconf_update_bin/krunnerplugins %{_kf5_plugindir}/ %{_kf5_qmldir}/ %{_kf5_applicationsdir}/org.kde.klipper.desktop @@ -292,6 +299,7 @@ %{_kf5_sharedir}/dbus-1/services/kf5_org.kde.kuiserver.service %{_kf5_sharedir}/dbus-1/services/org.kde.krunner.service %{_kf5_sharedir}/desktop-directories/ +%{_kf5_sharedir}/kconf_update/ %dir %{_kf5_htmldir} %dir %lang(en) %{_kf5_htmldir}/en %doc %lang(en) %{_kf5_htmldir}/en/klipper/ ++++++ 0001-Rename-qdbus-in-startkde.patch ++++++ --- /var/tmp/diff_new_pack.Cq6f93/_old 2017-02-03 18:56:13.159465699 +0100 +++ /var/tmp/diff_new_pack.Cq6f93/_new 2017-02-03 18:56:13.159465699 +0100 @@ -1,34 +1,30 @@ diff --git a/startkde/startkde.cmake b/startkde/startkde.cmake -index 91c8a3c..0c658bd 100644 +index b7af60b..7ae5f1d 100644 --- a/startkde/startkde.cmake +++ b/startkde/startkde.cmake -@@ -20,14 +20,14 @@ unset DYLD_FORCE_FLAT_NAMESPACE - # in case we have been started with full pathname spec without being in PATH - bindir=`echo "$0" | sed -n 's,^\(/.*\)/[^/][^/]*$,\1,p'` - if [ -n "$bindir" ]; then -- qbindir=`qtpaths --binaries-dir` -- qdbus=$qbindir/qdbus -+ qbindir=`/usr/bin/qtpaths --binaries-dir` -+ qdbus=$qbindir/qdbus-qt5 - case $PATH in - $bindir|$bindir:*|*:$bindir|*:$bindir:*) ;; - *) PATH=$bindir:$PATH; export PATH;; - esac - else -- qdbus=qdbus -+ qdbus=qdbus-qt5 +@@ -292,7 +292,7 @@ if test $? -ne 0; then + exit 1 fi - # Check if a KDE session already is running and whether it's possible to connect to X -@@ -291,9 +291,9 @@ export XDG_DATA_DIRS - if $qdbus >/dev/null 2>/dev/null; then - : # ok - else -- echo 'startkde: Could not start D-Bus. Can you call qdbus?' 1>&2 -+ echo 'startkde: Could not start D-Bus. Can you call qdbus-qt5?' 1>&2 - test -n "$ksplash_pid" && kill "$ksplash_pid" 2>/dev/null -- xmessage -geometry 500x100 "Could not start D-Bus. Can you call qdbus?" -+ xmessage -geometry 500x100 "Could not start D-Bus. Can you call qdbus-qt5?" - exit 1 - fi +-qdbus org.kde.KSplash /KSplash org.kde.KSplash.setStage kinit & ++qdbus-qt5 org.kde.KSplash /KSplash org.kde.KSplash.setStage kinit & + # finally, give the session control to the session manager + # see kdebase/ksmserver for the description of the rest of the startup sequence +@@ -325,13 +325,13 @@ if test x"$wait_drkonqi"x = x"true"x ; then + # wait for remaining drkonqi instances with timeout (in seconds) + wait_drkonqi_timeout=`kreadconfig5 --file startkderc --group WaitForDrKonqi --key Timeout --default 900` + wait_drkonqi_counter=0 +- while qdbus | grep "^[^w]*org.kde.drkonqi" > /dev/null ; do ++ while qdbus-qt5 | grep "^[^w]*org.kde.drkonqi" > /dev/null ; do + sleep 5 + wait_drkonqi_counter=$((wait_drkonqi_counter+5)) + if test "$wait_drkonqi_counter" -ge "$wait_drkonqi_timeout" ; then + # ask remaining drkonqis to die in a graceful way +- qdbus | grep 'org.kde.drkonqi-' | while read address ; do +- qdbus "$address" "/MainApplication" "quit" ++ qdbus-qt5 | grep 'org.kde.drkonqi-' | while read address ; do ++ qdbus-qt5 "$address" "/MainApplication" "quit" + done + break + fi ++++++ 0001-When-swapping-Wallpapers-save-the-config-to-file-not.patch ++++++ >From a9f5ada73bf86a145e057eff188f45dfdf61917a Mon Sep 17 00:00:00 2001 From: David Edmundson <k...@davidedmundson.co.uk> Date: Thu, 26 Jan 2017 16:17:51 +0000 Subject: [PATCH] When swapping Wallpapers, save the config to file, not just to propertymap Summary: ContainmentConfigView has a special code path for wallpaper configs where, if you change wallpaper type, it will create a temporary config ConfigPropertyMap, then copy it over to the real config when the containment actually changes. ConfigPropertyMap does not call valueChanged() on insertion (See QQmlPropertyMap), and we only write the value into the actual KConfigSkeleton on valueChange. BUG: 375532 Test Plan: Start plasma with image wallpaper Set to colour wallpaper and save colour Hit apply Close plasma Start plasma Before the correct colour wouldn't be loaded. Now it is. Reviewers: #plasma, mart Reviewed By: mart Subscribers: plasma-devel Tags: #plasma Differential Revision: https://phabricator.kde.org/D4285 --- shell/containmentconfigview.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/shell/containmentconfigview.cpp b/shell/containmentconfigview.cpp index 269ae2b3..4d107bec 100644 --- a/shell/containmentconfigview.cpp +++ b/shell/containmentconfigview.cpp @@ -220,7 +220,9 @@ void ContainmentConfigView::applyWallpaper() if (m_currentWallpaperConfig && m_ownWallpaperConfig) { for (const auto &key : m_ownWallpaperConfig->keys()) { - m_currentWallpaperConfig->insert(key, m_ownWallpaperConfig->value(key)); + auto value = m_ownWallpaperConfig->value(key); + m_currentWallpaperConfig->insert(key, value); + m_currentWallpaperConfig->valueChanged(key, value); } } -- 2.11.0 ++++++ 0002-fix-isOutputRedundant-logic.patch ++++++ >From f4faa6f1547c4994893ac5f7a5c251f2846368f0 Mon Sep 17 00:00:00 2001 From: Marco Martin <notm...@gmail.com> Date: Fri, 27 Jan 2017 16:11:37 +0100 Subject: [PATCH 2/2] fix isOutputRedundant logic Summary: isOutputRedundant badly failed when two screens had the exact same geometry (that should be, the base case for "cloning" screens. now the logic is: a screen is redundant if: * its geometry is contained in another one * if their resolutions are different, the "biggest" one wins * if they have the same geometry, the one with the lowest id wins (arbitrary, but gives reproducible behavior and makes the primary BUG:375507 Test Plan: tested with two screens: * overlapping, same resolution: the lowest id (0, the primary) wins, the other one doesn't get a view * overlapping, different resolutions: the biggest one wins * not overlapping: both get a view Reviewers: sebas, #plasma, davidedmundson Reviewed By: #plasma, davidedmundson Subscribers: davidedmundson, plasma-devel Tags: #plasma Differential Revision: https://phabricator.kde.org/D4309 --- shell/shellcorona.cpp | 35 ++++++++++++++++++++++++++++++----- 1 file changed, 30 insertions(+), 5 deletions(-) diff --git a/shell/shellcorona.cpp b/shell/shellcorona.cpp index e7060961..25bec235 100644 --- a/shell/shellcorona.cpp +++ b/shell/shellcorona.cpp @@ -717,6 +717,11 @@ void ShellCorona::primaryOutputChanged() return; } + //Since the primary screen is considered more important + //then the others, having the primary changed may have changed what outputs are redundant and what are not + //TODO: for a particular corner case, in which in the same moment the primary screen changes *and* geometries change to make former redundant screens to not be anymore, instead of doinf reconsiderOutputs() here, it may be better to instead put here the adding of new outputs and after the switch dance has been done, at the bottom of this function remove the eventual redundant ones + reconsiderOutputs(); + QScreen *oldPrimary = m_desktopViewforId.value(0)->screen(); QScreen *newPrimary = qGuiApp->primaryScreen(); if (!newPrimary || newPrimary == oldPrimary) { @@ -1100,19 +1105,39 @@ void ShellCorona::screenRemoved(QScreen* screen) bool ShellCorona::isOutputRedundant(QScreen* screen) const { Q_ASSERT(screen); - const QRect geometry = screen->geometry(); + const QRect thisGeometry = screen->geometry(); + + const int thisId = m_screenPool->id(screen->name()); //FIXME: QScreen doesn't have any idea of "this qscreen is clone of this other one //so this ultra inefficient heuristic has to stay until we have a slightly better api + //logic is: + //a screen is redundant if: + //* its geometry is contained in another one + //* if their resolutions are different, the "biggest" one wins + //* if they have the same geometry, the one with the lowest id wins (arbitrary, but gives reproducible behavior and makes the primary screen win) foreach (QScreen* s, qGuiApp->screens()) { + //don't compare with itself if (screen == s) { continue; } - const QRect sGeometry = s->geometry(); - if (sGeometry.contains(geometry, false) && - sGeometry.width() > geometry.width() && - sGeometry.height() > geometry.height()) { + const QRect otherGeometry = s->geometry(); + + const int otherId = m_screenPool->id(s->name()); + + if (otherGeometry.contains(thisGeometry, false) && + (//since at this point contains is true, if either + //measure of othergeometry is bigger, has a bigger area + otherGeometry.width() > thisGeometry.width() || + otherGeometry.height() > thisGeometry.height() || + //ids not -1 are considered in descending order of importance + //-1 means that is a screen not known yet, just arrived and + //not yet in screenpool: this happens for screens that + //are hotplugged and weren't known. it does NOT happen + //at first startup, as screenpool populates on load with all screens connected at the moment before the rest of the shell starts up + (thisId == -1 && otherId != -1) || + (thisId > otherId && otherId != -1))) { return true; } } -- 2.11.0 ++++++ change-kioremote-severity.patch ++++++ --- /var/tmp/diff_new_pack.Cq6f93/_old 2017-02-03 18:56:13.191461206 +0100 +++ /var/tmp/diff_new_pack.Cq6f93/_new 2017-02-03 18:56:13.195460644 +0100 @@ -13,7 +13,7 @@ =================================================================== --- plasma-workspace-5.7.95.orig/kioslave/remote/CMakeLists.txt +++ plasma-workspace-5.7.95/kioslave/remote/CMakeLists.txt -@@ -11,7 +11,7 @@ set(kio_remote_SRCS +@@ -10,7 +10,7 @@ set(kio_remote_SRCS ecm_qt_declare_logging_category(kio_remote_SRCS HEADER debug.h IDENTIFIER KIOREMOTE_LOG CATEGORY_NAME log_kioremote @@ -21,4 +21,5 @@ + DEFAULT_SEVERITY Debug) add_library(kio_remote MODULE ${kio_remote_SRCS}) - target_link_libraries(kio_remote KF5::KIOCore KF5::KDELibs4Support) + target_link_libraries(kio_remote KF5::KIOCore KF5::I18n) + ++++++ plasma-workspace-5.8.5.tar.xz -> plasma-workspace-5.9.0.tar.xz ++++++ /work/SRC/openSUSE:Factory/plasma5-workspace/plasma-workspace-5.8.5.tar.xz /work/SRC/openSUSE:Factory/.plasma5-workspace.new/plasma-workspace-5.9.0.tar.xz differ: char 26, line 1