diff --git a/0001-Ignore-default-sddm-face-icons.patch b/0001-Ignore-default-sddm-face-icons.patch new file mode 100644 index 0000000..d50cc33 --- /dev/null +++ b/0001-Ignore-default-sddm-face-icons.patch @@ -0,0 +1,32 @@ +From 846222c0dac6747256fd3d474db174643e84fee0 Mon Sep 17 00:00:00 2001 +From: Fabian Vogt +Date: Sat, 1 Oct 2016 19:22:36 +0200 +Subject: [PATCH] Ignore default sddm face icons + +They are not compatible with the theme +--- + lookandfeel/contents/components/UserList.qml | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/lookandfeel/contents/components/UserList.qml b/lookandfeel/contents/components/UserList.qml +index 62c95c7..c8f88de 100644 +--- a/lookandfeel/contents/components/UserList.qml ++++ b/lookandfeel/contents/components/UserList.qml +@@ -42,7 +42,13 @@ ListView { + preferredHighlightEnd: preferredHighlightBegin + + delegate: UserDelegate { +- avatarPath: model.icon || "" ++ avatarPath: { ++ var incompatible = /\/usr\/share\/sddm\/faces\/((root)?)\.face\.icon$/ ++ if (!model.icon || incompatible.test(model.icon)) ++ return "" ++ ++ return model.icon ++ } + iconSource: model.iconName || "user-identity" + + name: { +-- +2.10.0 + diff --git a/0001-wait-before-creating-the-panel.patch b/0001-wait-before-creating-the-panel.patch deleted file mode 100644 index eba1f44..0000000 --- a/0001-wait-before-creating-the-panel.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 6449c8f939d5cf84dbf0199180e9a536d922b0e2 Mon Sep 17 00:00:00 2001 -From: Marco Martin -Date: Wed, 21 Sep 2016 16:34:04 +0200 -Subject: [PATCH] wait before creating the panel - -not creating the panel view yet in order to have the same code path -between the first and subsequent plasma starts. -we want to have the panel appearing only when its layout is completed, to not have -many visible relayouts. otherwise we had even panel resizes at startup that -made al lthe full representations be loaded. - -reviewed-by: David Edmundson ---- - shell/shellcorona.cpp | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/shell/shellcorona.cpp b/shell/shellcorona.cpp -index 65ef01f..94ad07d 100644 ---- a/shell/shellcorona.cpp -+++ b/shell/shellcorona.cpp -@@ -1732,7 +1732,11 @@ Plasma::Containment *ShellCorona::addPanel(const QString &plugin) - - Q_ASSERT(panel); - m_waitingPanels << panel; -- createWaitingPanels(); -+ //not creating the panel view yet in order to have the same code path -+ //between the first and subsequent plasma starts. we want to have the panel appearing only when its layout is completed, to not have -+ //many visible relayouts. otherwise we had even panel resizes at startup that -+ //made al lthe full representations be loaded. -+ m_waitingPanelsTimer.start(); - - const QPoint cursorPos(QCursor::pos()); - foreach (QScreen *screen, QGuiApplication::screens()) { --- -2.10.0 - diff --git a/add-tray-icon-cache.patch b/add-tray-icon-cache.patch new file mode 100644 index 0000000..db11ffa --- /dev/null +++ b/add-tray-icon-cache.patch @@ -0,0 +1,36 @@ +From: Fabian Vogt +Subject: Workaround for high load due to animated tray icons +References: kde#356479 + +When a tray icon name changes, it always does a full lookup, which is expensive. +Add a small QHash as cache to work around this. + +diff --git a/applets/systemtray/systemtray.cpp b/applets/systemtray/systemtray.cpp +index 66bb5b4..f440ff0 100644 +--- a/applets/systemtray/systemtray.cpp ++++ b/applets/systemtray/systemtray.cpp +@@ -127,8 +127,13 @@ void SystemTray::cleanupTask(const QString &task) + + QVariant SystemTray::resolveIcon(const QVariant &variant, const QString &iconThemePath) + { ++ static QHash cache; + if (variant.canConvert()) { + if (!iconThemePath.isEmpty()) { ++ auto i = cache.find(variant.toString() + iconThemePath); ++ if(i != cache.end()) ++ return i.value(); ++ qCWarning(SYSTEM_TRAY) << "Cache not hit" << iconThemePath; + const QString path = iconThemePath; + if (!path.isEmpty()) { + // FIXME: If last part of path is not "icons", this won't work! +@@ -136,7 +141,9 @@ QVariant SystemTray::resolveIcon(const QVariant &variant, const QString &iconThe + if (tokens.length() >= 3 && tokens.takeLast() == QLatin1String("icons")) { + const QString appName = tokens.takeLast().toString(); + +- return QVariant(QIcon(new AppIconEngine(variant.toString(), path, appName))); ++ auto v = QVariant(QIcon(new AppIconEngine(variant.toString(), path, appName))); ++ cache.insert(variant.toString() + iconThemePath, v); ++ return v; + } else { + qCWarning(SYSTEM_TRAY) << "Wrong IconThemePath" << path << ": too short or does not end with 'icons'"; + } diff --git a/fix-wallpaper-not-having-correct-aspect-ratio.diff b/fix-wallpaper-not-having-correct-aspect-ratio.diff deleted file mode 100644 index c40b3b3..0000000 --- a/fix-wallpaper-not-having-correct-aspect-ratio.diff +++ /dev/null @@ -1,55 +0,0 @@ -Index: plasma-workspace-5.7.95/wallpapers/image/image.cpp -=================================================================== ---- plasma-workspace-5.7.95.orig/wallpapers/image/image.cpp -+++ plasma-workspace-5.7.95/wallpapers/image/image.cpp -@@ -182,30 +182,43 @@ void Image::findPreferedImageInPackage(K - return; - } - -- //qDebug() << "wanted" << size; -+ //qDebug() << "wanted" << m_targetSize; -+ //qDebug() << "options" << images; - -- // choose the nearest resolution -+ // choose the nearest resolution, always preferring images with the same aspect ratio - float best = FLT_MAX; -+ float bestWithSameAspectRatio = FLT_MAX; -+ float targetAspectRatio = m_targetSize.width()/(float)m_targetSize.height(); - - QString bestImage; -+ QString bestImageWithSameAspectRatio; - foreach (const QString &entry, images) { - QSize candidate = resSize(QFileInfo(entry).baseName()); - if (candidate == QSize()) { - continue; - } -+ float candidateAspectRatio = candidate.width()/(float)candidate.height(); - - double dist = distance(candidate, m_targetSize); -- //qDebug() << "candidate" << candidate << "distance" << dist; -- if (bestImage.isEmpty() || dist < best) { -- bestImage = entry; -- best = dist; -- //qDebug() << "best" << bestImage; -+ //qDebug() << "candidate" << candidate << "distance" << dist << "aspect ratio" << candidateAspectRatio; -+ -+ if ( candidateAspectRatio == targetAspectRatio && (bestImageWithSameAspectRatio.isEmpty() || dist < bestWithSameAspectRatio) ) { -+ bestImageWithSameAspectRatio = entry; -+ bestWithSameAspectRatio = dist; -+ //qDebug() << "bestWithSameAspectRatio" << bestImageWithSameAspectRatio; - if (dist == 0) { - break; - } -+ } else if (bestImage.isEmpty() || dist < best) { -+ bestImage = entry; -+ best = dist; -+ //qDebug() << "best" << bestImage; - } - } - -+ if (!bestImageWithSameAspectRatio.isEmpty()) // Always prefer an image with the same aspect ratio as the target (if available) -+ bestImage=bestImageWithSameAspectRatio; -+ - //qDebug() << "best image" << bestImage; - package.removeDefinition("preferred"); - package.addFileDefinition("preferred", "images/" + bestImage, i18n("Recommended wallpaper file")); diff --git a/plasma-workspace-5.7.95.tar.xz b/plasma-workspace-5.7.95.tar.xz deleted file mode 100644 index 111fd01..0000000 --- a/plasma-workspace-5.7.95.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c4ed7be1ae8495aab2330f60a8181bb3ad16941f6afb41af269470935c6599c6 -size 7373804 diff --git a/plasma-workspace-5.8.0.tar.xz b/plasma-workspace-5.8.0.tar.xz new file mode 100644 index 0000000..97712d9 --- /dev/null +++ b/plasma-workspace-5.8.0.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:365b152c69ee7863bd1abe0e339707e412384beeb10294aacbc07e3d9da2b319 +size 7411612 diff --git a/plasma5-workspace.changes b/plasma5-workspace.changes index 779e99b..cdc6306 100644 --- a/plasma5-workspace.changes +++ b/plasma5-workspace.changes @@ -1,3 +1,43 @@ +------------------------------------------------------------------- +Mon Oct 3 19:51:33 UTC 2016 - fabian@ritter-vogt.de + +- Update 0001-Ignore-default-sddm-face-icons.patch to not break + all .face.icon (boo#1001364) + +------------------------------------------------------------------- +Sun Oct 2 09:30:48 UTC 2016 - fabian@ritter-vogt.de + +- Add add-tray-icon-cache.patch (kde#356479): + * High load due to animated tray icons + +------------------------------------------------------------------- +Sat Oct 1 17:25:04 UTC 2016 - fabian@ritter-vogt.de + +- Add 0001-Ignore-default-sddm-face-icons.patch (boo#1001364): + * The default SDDM face icons are too dark to be used with + the default backgrounds + +------------------------------------------------------------------- +Thu Sep 29 16:36:28 UTC 2016 - fabian@ritter-vogt.de + +- Update to 5.8.0 + * New LTS feature release + * For more details please see: + https://www.kde.org/announcements/plasma-5.8.0.php +- Remove patches (now upstream): + * 0001-wait-before-creating-the-panel.patch + * fix-breeze-sddm-theme-with-many-users-2.patch + * fix-wallpaper-not-having-correct-aspect-ratio.diff + +------------------------------------------------------------------- +Tue Sep 27 12:29:41 UTC 2016 - alarrosa@suse.com + +- Add fix-breeze-sddm-theme-with-many-users-2.patch: Makes the + breeze theme in sddm show username/password directly instead of + a user list when there's more than N users in the system where + N is defined in sddm.conf, under the Theme section, in the + UsersThresholdToDisableAvatars variable. + ------------------------------------------------------------------- Sat Sep 24 20:53:58 UTC 2016 - fabian@ritter-vogt.de diff --git a/plasma5-workspace.spec b/plasma5-workspace.spec index a536635..a1dc11b 100644 --- a/plasma5-workspace.spec +++ b/plasma5-workspace.spec @@ -20,24 +20,24 @@ %bcond_without lang Name: plasma5-workspace -Version: 5.7.95 +Version: 5.8.0 Release: 0 %{!?_plasma5_version: %global _plasma5_version %{version}} Summary: The KDE Plasma Workspace Components License: GPL-2.0+ Group: System/GUI/KDE Url: http://www.kde.org/ -Source: http://download.kde.org/unstable/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 cgiboudeaux@gmx.com -- Rename the qdbus executable in startkde Patch0: 0001-Rename-qdbus-in-startkde.patch # PATCH-FIX-OPENSUSE change-kioremote-severity.patch boo#997173 fabian@ritter-vogt.de -- Change default log severity for log_kioremote Patch1: change-kioremote-severity.patch -# PATCH-FIX-UPSTREAM fix-wallpaper-not-having-correct-aspect-ratio.diff bnc#990257 alarrosa@suse.com -- Make plasma prefer wallpapers with the same aspect ratio as the screen instead of a wallpaper with the most similar area -Patch5: fix-wallpaper-not-having-correct-aspect-ratio.diff +# PATCH-FIX-OPENSUSE 0001-Ignore-default-sddm-face-icons.patch boo#1001364 fabian@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 fabian@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 -# PATCH-FIX-UPSTREAM 0001-wait-before-creating-the-panel.patch boo#1000109 -- Wait before creating the panel -Patch100: 0001-wait-before-creating-the-panel.patch # PATCHES 201-300 and above are from upstream master/5.9 branch BuildRequires: breeze5-icons BuildRequires: fdupes @@ -206,8 +206,8 @@ workspace. Development files. %setup -q -n plasma-workspace-%{version} %patch0 -p1 %patch1 -p1 -%patch5 -p1 -%patch100 -p1 +%patch2 -p1 +%patch3 -p1 %build %cmake_kf5 -d build -- -DKDE4_COMMON_PAM_SERVICE=xdm -DKDE_DEFAULT_HOME=.kde4 -DCMAKE_INSTALL_LOCALEDIR=%{_kf5_localedir} @@ -335,7 +335,7 @@ workspace. Development files. %if %{with lang} %files lang -f %{name}.lang -%doc %lang(de) %{_kf5_htmldir}/de/ +%doc %lang(ca) %{_kf5_htmldir}/ca/ %endif %changelog