Luca Beltrame 2018-05-21 09:07:22 +00:00 committed by Git OBS Bridge
parent 94a796569e
commit fb3187ec7a
11 changed files with 210 additions and 834 deletions

View File

@ -1,82 +0,0 @@
From 08864d59109a869a906fb98059f4346a52ee0a6d Mon Sep 17 00:00:00 2001
From: "Christian (Fuchs) Loosli" <kde@fuchsnet.ch>
Date: Tue, 17 Apr 2018 10:18:31 +0200
Subject: [PATCH] Add a button to clear the notification history
Summary:
Adds a button in the plasmoid header to clear the history, same as the context menu.
The icon used is the same as clear history in the klipper plasmoid.
BUG: 386068
FIXED-IN: 5.13.0
Test Plan: Please test the alignment on your screen, whilst I made sure to use provided units, due to the indentation of heading I had to use fractions, which might lead to odd results on different resolutions / dpi
Reviewers: broulik
Reviewed By: broulik
Subscribers: abetts, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D11261
---
.../package/contents/ui/Notifications.qml | 33 ++++++++++++++++++----
1 file changed, 28 insertions(+), 5 deletions(-)
diff --git a/applets/notifications/package/contents/ui/Notifications.qml b/applets/notifications/package/contents/ui/Notifications.qml
index b87e13da..1781185c 100644
--- a/applets/notifications/package/contents/ui/Notifications.qml
+++ b/applets/notifications/package/contents/ui/Notifications.qml
@@ -18,6 +18,7 @@
*/
import QtQuick 2.0
+import QtQuick.Layouts 1.2
import org.kde.plasma.core 2.0 as PlasmaCore
import org.kde.plasma.components 2.0 as PlasmaComponents
import org.kde.plasma.extras 2.0 as PlasmaExtras
@@ -265,12 +266,34 @@ Column {
delegate: NotificationDelegate { listModel: notificationsModel }
}
- PlasmaExtras.Heading {
- width: parent.width
- level: 3
- opacity: 0.6
+ RowLayout {
+ Layout.fillWidth: true
+ spacing: units.smallSpacing
visible: historyCount > 0
- text: i18n("History")
+ width: parent.width
+
+ PlasmaExtras.Heading {
+ Layout.fillWidth: true
+ level: 3
+ opacity: 0.6
+ text: i18n("History")
+ }
+
+ PlasmaComponents.ToolButton {
+ Layout.rightMargin: spacerSvgFrame.margins.right
+ iconSource: "edit-delete"
+ tooltip: i18n("Clear History")
+ onClicked: clearHistory()
+ }
+ }
+
+ // This hack is unfortunately needed to have the buttons align,
+ // the ones in the list contain have a margin due to a frame for being a list item.
+ PlasmaCore.FrameSvgItem {
+ id : spacerSvgFrame
+ imagePath: "widgets/listitem"
+ prefix: "normal"
+ visible: false
}
// History stuff
--
2.16.2

View File

@ -1,93 +0,0 @@
From 6eb5d00b48a67b415c0770434dbb6bc8a0e6d9d9 Mon Sep 17 00:00:00 2001
From: "Friedrich W. H. Kossebau" <kossebau@kde.org>
Date: Sat, 10 Feb 2018 00:34:10 +0100
Subject: [PATCH 1/3] Call KLocalizedString::setApplicationDomain after Q*App
creation
As now recommended, to ensure all locale settings are done from Qt side
---
klipper/main.cpp | 2 +-
krunner/main.cpp | 3 +--
shell/main.cpp | 3 +--
startkde/kcminit/main.cpp | 2 +-
systemmonitor/main.cpp | 3 +--
5 files changed, 5 insertions(+), 8 deletions(-)
diff --git a/klipper/main.cpp b/klipper/main.cpp
index 58a07783..36539b63 100644
--- a/klipper/main.cpp
+++ b/klipper/main.cpp
@@ -34,8 +34,8 @@
extern "C" int Q_DECL_EXPORT kdemain(int argc, char *argv[])
{
- KLocalizedString::setApplicationDomain("klipper");
QApplication app(argc, argv);
+ KLocalizedString::setApplicationDomain("klipper");
KAboutData aboutData(QStringLiteral("klipper"),
i18n("Klipper"),
diff --git a/krunner/main.cpp b/krunner/main.cpp
index b63156d2..24fe5a9f 100644
--- a/krunner/main.cpp
+++ b/krunner/main.cpp
@@ -43,10 +43,9 @@ int main(int argc, char **argv)
qunsetenv("QT_DEVICE_PIXEL_RATIO");
QCoreApplication::setAttribute(Qt::AA_DisableHighDpiScaling);
- KLocalizedString::setApplicationDomain("krunner");
-
QQuickWindow::setDefaultAlphaBuffer(true);
QApplication app(argc, argv);
+ KLocalizedString::setApplicationDomain("krunner");
KQuickAddons::QtQuickSettings::init();
diff --git a/shell/main.cpp b/shell/main.cpp
index ed42ed40..22ef0388 100644
--- a/shell/main.cpp
+++ b/shell/main.cpp
@@ -56,9 +56,8 @@ int main(int argc, char *argv[])
QQuickWindow::setDefaultAlphaBuffer(true);
- KLocalizedString::setApplicationDomain("plasmashell");
-
QApplication app(argc, argv);
+ KLocalizedString::setApplicationDomain("plasmashell");
// The executable's path is added to the library/plugin paths.
// This does not make much sense for plasmashell.
diff --git a/startkde/kcminit/main.cpp b/startkde/kcminit/main.cpp
index 6d6692b9..7181281c 100644
--- a/startkde/kcminit/main.cpp
+++ b/startkde/kcminit/main.cpp
@@ -221,9 +221,9 @@ extern "C" Q_DECL_EXPORT int kdemain(int argc, char *argv[])
startup = ( strcmp( argv[ 0 ], "kcminit_startup" ) == 0 ); // started from startkde?
- KLocalizedString::setApplicationDomain("kcminit");
QGuiApplication::setDesktopSettingsAware(false);
QGuiApplication app(argc, argv); //gui is needed for several modules
+ KLocalizedString::setApplicationDomain("kcminit");
KAboutData about(QStringLiteral("kcminit"), i18n("KCMInit"), QString(),
i18n("KCMInit - runs startup initialization for Control Modules."), KAboutLicense::GPL);
KAboutData::setApplicationData(about);
diff --git a/systemmonitor/main.cpp b/systemmonitor/main.cpp
index 5e6be4f8..ccf6cae7 100644
--- a/systemmonitor/main.cpp
+++ b/systemmonitor/main.cpp
@@ -25,9 +25,8 @@
int main(int argc, char** argv)
{
- KLocalizedString::setApplicationDomain("systemmonitor");
-
QApplication app(argc, argv);
+ KLocalizedString::setApplicationDomain("systemmonitor");
app.setOrganizationDomain(QStringLiteral("kde.org"));
app.setDesktopFileName(QStringLiteral("org.kde.systemmonitor"));
--
2.16.2

View File

@ -1,8 +1,8 @@
Index: plasma-workspace-5.12.2/startkde/startkde.cmake
===================================================================
--- plasma-workspace-5.12.2.orig/startkde/startkde.cmake
+++ plasma-workspace-5.12.2/startkde/startkde.cmake
@@ -294,7 +294,7 @@ if test $? -ne 0; then
diff --git a/startkde/startkde.cmake b/startkde/startkde.cmake
index 54e28501..0eadd042 100644
--- a/startkde/startkde.cmake
+++ b/startkde/startkde.cmake
@@ -297,7 +297,7 @@ if test $? -ne 0; then
exit 1
fi
@ -11,7 +11,7 @@ Index: plasma-workspace-5.12.2/startkde/startkde.cmake
# finally, give the session control to the session manager
# see kdebase/ksmserver for the description of the rest of the startup sequence
@@ -327,13 +327,13 @@ if test x"$wait_drkonqi"x = x"true"x ; t
@@ -330,13 +330,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
@ -28,10 +28,10 @@ Index: plasma-workspace-5.12.2/startkde/startkde.cmake
done
break
fi
Index: plasma-workspace-5.12.2/startkde/startplasma.cmake
===================================================================
--- plasma-workspace-5.12.2.orig/startkde/startplasma.cmake
+++ plasma-workspace-5.12.2/startkde/startplasma.cmake
diff --git a/startkde/startplasma.cmake b/startkde/startplasma.cmake
index a5d09fa7..b67c41e4 100644
--- a/startkde/startplasma.cmake
+++ b/startkde/startplasma.cmake
@@ -140,7 +140,7 @@ if test $? -ne 0; then
exit 1
fi
@ -41,7 +41,7 @@ Index: plasma-workspace-5.12.2/startkde/startplasma.cmake
# finally, give the session control to the session manager
# see kdebase/ksmserver for the description of the rest of the startup sequence
@@ -169,13 +169,13 @@ if test x"$wait_drkonqi"x = x"true"x ; t
@@ -169,13 +169,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
@ -58,10 +58,10 @@ Index: plasma-workspace-5.12.2/startkde/startplasma.cmake
done
break
fi
Index: plasma-workspace-5.12.2/startkde/startplasmacompositor.cmake
===================================================================
--- plasma-workspace-5.12.2.orig/startkde/startplasmacompositor.cmake
+++ plasma-workspace-5.12.2/startkde/startplasmacompositor.cmake
diff --git a/startkde/startplasmacompositor.cmake b/startkde/startplasmacompositor.cmake
index 8ac47aa7..377a46f3 100644
--- a/startkde/startplasmacompositor.cmake
+++ b/startkde/startplasmacompositor.cmake
@@ -120,12 +120,12 @@ fi
# Get a property value from org.freedesktop.locale1
@ -90,11 +90,11 @@ Index: plasma-workspace-5.12.2/startkde/startplasmacompositor.cmake
test -n "$ksplash_pid" && kill "$ksplash_pid" 2>/dev/null
exit 1
fi
Index: plasma-workspace-5.12.2/wallpapers/image/wallpaper.knsrc
===================================================================
--- plasma-workspace-5.12.2.orig/wallpapers/image/wallpaper.knsrc
+++ plasma-workspace-5.12.2/wallpapers/image/wallpaper.knsrc
@@ -42,4 +42,4 @@ Categories=KDE Wallpaper 800x600,KDE Wal
diff --git a/wallpapers/image/wallpaper.knsrc b/wallpapers/image/wallpaper.knsrc
index 13f52321..96c6e359 100644
--- a/wallpapers/image/wallpaper.knsrc
+++ b/wallpapers/image/wallpaper.knsrc
@@ -42,4 +42,4 @@ Categories=KDE Wallpaper 800x600,KDE Wallpaper 1024x768,KDE Wallpaper 1280x1024,
StandardResource=wallpaper
Uncompress=archive

View File

@ -0,0 +1,137 @@
From a437cb34a3cacc0daae012a26cb5a28407a6f873 Mon Sep 17 00:00:00 2001
From: Fabian Vogt <fabian@ritter-vogt.de>
Date: Wed, 28 Feb 2018 17:10:14 +0100
Subject: [PATCH] Revert "No icons on the desktop by default"
This reverts commit 240d0d6fe1e5db88e304199339396bd48c23e130.
We want those icons in openSUSE. They've always been there and there is no
reason not to have them.
---
kioslave/desktop/CMakeLists.txt | 1 +
kioslave/desktop/Home.desktop | 88 ++++++++++++++++++++++++++++++++++++++++
kioslave/desktop/kio_desktop.cpp | 4 ++
3 files changed, 93 insertions(+)
create mode 100644 kioslave/desktop/Home.desktop
diff --git a/kioslave/desktop/CMakeLists.txt b/kioslave/desktop/CMakeLists.txt
index e21744c3..8616a7e5 100644
--- a/kioslave/desktop/CMakeLists.txt
+++ b/kioslave/desktop/CMakeLists.txt
@@ -25,3 +25,4 @@ install(TARGETS desktopnotifier DESTINATION ${KDE_INSTALL_PLUGINDIR}/kf5/kded)
install( FILES desktop.protocol DESTINATION ${KDE_INSTALL_KSERVICES5DIR} )
install(FILES directory.desktop directory.trash DESTINATION ${KDE_INSTALL_DATADIR}/kio_desktop)
+install(FILES Home.desktop DESTINATION ${KDE_INSTALL_DATADIR}/kio_desktop/DesktopLinks)
diff --git a/kioslave/desktop/Home.desktop b/kioslave/desktop/Home.desktop
new file mode 100644
index 00000000..9ad53f0b
--- /dev/null
+++ b/kioslave/desktop/Home.desktop
@@ -0,0 +1,88 @@
+[Desktop Entry]
+Encoding=UTF-8
+Name=Home
+Name[ca]=Inici
+Name[ca@valencia]=Inici
+Name[cs]=Můj adresář
+Name[da]=Hjem
+Name[de]=Persönlicher Ordner
+Name[el]=Προσωπικός φάκελος
+Name[en_GB]=Home
+Name[es]=Inicio
+Name[et]=Kodu
+Name[eu]=Etxea
+Name[fi]=Koti
+Name[fr]=Dossier personnel
+Name[gl]=Persoal
+Name[he]=בית
+Name[hu]=Saját mappa
+Name[is]=Heimamappa
+Name[it]=Home
+Name[ja]=ホーム
+Name[ko]=홈
+Name[lt]=Pradžia
+Name[nl]=Home
+Name[nn]=Heim
+Name[pa]=ਘਰ
+Name[pl]=Katalog domowy
+Name[pt]=Pasta Pessoal
+Name[pt_BR]=Pasta Pessoal
+Name[ru]=Домашняя папка
+Name[se]=Ruoktu
+Name[sk]=Domov
+Name[sl]=Dom
+Name[sr]=Домаће
+Name[sr@ijekavian]=Домаће
+Name[sr@ijekavianlatin]=Domaće
+Name[sr@latin]=Domaće
+Name[sv]=Hem
+Name[tr]=Başlangıç
+Name[uk]=Домівка
+Name[x-test]=xxHomexx
+Name[zh_CN]=主文件夹
+Name[zh_TW]=家目錄
+GenericName=Personal Files
+GenericName[ca]=Fitxers personals
+GenericName[ca@valencia]=Fitxers personals
+GenericName[cs]=Osobní soubory
+GenericName[da]=Personlige filer
+GenericName[de]=Persönliche Dateien
+GenericName[el]=Προσωπικά αρχεία
+GenericName[en_GB]=Personal Files
+GenericName[es]=Archivos personales
+GenericName[et]=Isiklikud failid
+GenericName[eu]=Fitxategi pertsonalak
+GenericName[fi]=Omat tiedostot
+GenericName[fr]=Fichiers personnels
+GenericName[gl]=Ficheiros persoais
+GenericName[he]=קבצים אישיים
+GenericName[hu]=Személyes fájlok
+GenericName[is]=Einkaskrár
+GenericName[it]=File personali
+GenericName[ja]=個人のファイル
+GenericName[ko]=개인적인 파일
+GenericName[lt]=Asmeniniai failai
+GenericName[nl]=Persoonlijke bestanden
+GenericName[nn]=Personlege filer
+GenericName[pa]=ਨਿੱਜੀ ਫਾਇਲਾਂ
+GenericName[pl]=Pliki osobiste
+GenericName[pt]=Ficheiros Pessoais
+GenericName[pt_BR]=Arquivos pessoais
+GenericName[ru]=Личные файлы
+GenericName[se]=Iežat fiillat
+GenericName[sk]=Osobné súbory
+GenericName[sl]=Osebne datoteke
+GenericName[sr]=Лични фајлови
+GenericName[sr@ijekavian]=Лични фајлови
+GenericName[sr@ijekavianlatin]=Lični fajlovi
+GenericName[sr@latin]=Lični fajlovi
+GenericName[sv]=Personliga filer
+GenericName[tr]=Kişisel Dosyalar
+GenericName[uk]=Особисті файли
+GenericName[x-test]=xxPersonal Filesxx
+GenericName[zh_CN]=个人文件
+GenericName[zh_TW]=個人檔案
+URL[$e]=$HOME
+Icon=user-home
+Type=Link
+
diff --git a/kioslave/desktop/kio_desktop.cpp b/kioslave/desktop/kio_desktop.cpp
index e05a1364..c57fed29 100644
--- a/kioslave/desktop/kio_desktop.cpp
+++ b/kioslave/desktop/kio_desktop.cpp
@@ -82,6 +82,10 @@ void DesktopProtocol::checkLocalInstall()
QFile::copy(QStandardPaths::locate(QStandardPaths::GenericDataLocation, QStringLiteral("kio_desktop/directory.desktop")),
desktopPath + "/.directory");
+ // Copy the trash link
+ QFile::copy(QStandardPaths::locate(QStandardPaths::GenericDataLocation, QStringLiteral("kio_desktop/directory.trash")),
+ desktopPath + "/trash.desktop");
+
// Copy the desktop links
QSet<QString> links;
const auto dirs = QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, QStringLiteral("kio_desktop/DesktopLinks"), QStandardPaths::LocateDirectory);
--
2.16.1

View File

@ -1,523 +0,0 @@
From 909eff21cca3cdb08ed683b126d83e20aa266608 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Martin=20Fl=C3=B6ser?= <mgraesslin@kde.org>
Date: Sun, 25 Feb 2018 09:15:07 +0100
Subject: [PATCH 2/3] Add platform detection to KWorkspace library to adjust
QT_QPA_PLATFORM
Summary:
This is a preparation step to unset QT_QPA_PLATFORM from the wayland
startup session script. Setting QT_QPA_PLATFORM breaks 3rd-party Qt
software which does not bundle QtWayland. Most prominent example is
the Qt installer itself (see
https://bugreports.qt.io/browse/QTBUG-60222).
On the other hand our Plasma workspace applications need to be forced to
Wayland on a Wayland system. So we have a conflict between we want to
set QT_QPA_PLATFORM and we don't want to set QT_QPA_PLATFORM.
This change adds new API to KWorkspace to address this problem. The new
method adjusts the QT_QPA_PLATFORM based on the XDG_SESSION_TYPE
enviornment variable. It is completely opt-in. Meaning applications need
to explicitly add the call prior to creating the QGuiApplication and if
the user specifies either QT_QPA_PLATFORM env variable or any of the
-platform command line argument variants, the platform detection is
skipped.
The change also adjusts all plasma-workspace applications which should
use Wayland on Wayland to use the new API. The startup script on the
other hand still sets QT_QPA_PLATFORM. We also have applications outside
of plasma-workspace which needs this detection. Examples are:
* powerdevil
* systemsettings
* kinfocenter
Once this change is merged those applications can be adjusted by linking
against PW::KWorkspace and afterwards QT_QPA_PLATFORM can be unset from
startplasmacompositor.
Test Plan: See added autotest
Reviewers: #plasma
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D10816
---
krunner/CMakeLists.txt | 3 +-
krunner/main.cpp | 2 +
ksmserver/logout-greeter/main.cpp | 1 +
ksmserver/switchuser-greeter/main.cpp | 1 +
ksplash/ksplashqml/CMakeLists.txt | 1 +
ksplash/ksplashqml/main.cpp | 3 +
kuiserver/CMakeLists.txt | 1 +
kuiserver/main.cpp | 3 +
libkworkspace/CMakeLists.txt | 4 +
libkworkspace/autotests/CMakeLists.txt | 5 +
libkworkspace/autotests/testPlatformDetection.cpp | 128 ++++++++++++++++++++++
libkworkspace/kworkspace.cpp | 24 ++++
libkworkspace/kworkspace.h | 15 +++
shell/CMakeLists.txt | 1 +
shell/main.cpp | 2 +
startkde/kcminit/CMakeLists.txt | 4 +-
startkde/kcminit/main.cpp | 2 +
systemmonitor/CMakeLists.txt | 1 +
systemmonitor/main.cpp | 3 +
19 files changed, 201 insertions(+), 3 deletions(-)
create mode 100644 libkworkspace/autotests/CMakeLists.txt
create mode 100644 libkworkspace/autotests/testPlatformDetection.cpp
diff --git a/krunner/CMakeLists.txt b/krunner/CMakeLists.txt
index c73216e4..46aa92f8 100644
--- a/krunner/CMakeLists.txt
+++ b/krunner/CMakeLists.txt
@@ -23,6 +23,7 @@ target_link_libraries(krunner
KF5::Crash
KF5::WaylandClient
KF5::QuickAddons
+ PW::KWorkspace
)
target_compile_definitions(krunner PRIVATE -DPROJECT_VERSION="${PROJECT_VERSION}")
@@ -38,4 +39,4 @@ ecm_configure_package_config_file(KRunnerAppDBusInterfaceConfig.cmake.in
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/KRunnerAppDBusInterfaceConfig.cmake
DESTINATION ${CMAKECONFIG_INSTALL_DIR})
-add_subdirectory(update)
\ No newline at end of file
+add_subdirectory(update)
diff --git a/krunner/main.cpp b/krunner/main.cpp
index 24fe5a9f..06bf47c0 100644
--- a/krunner/main.cpp
+++ b/krunner/main.cpp
@@ -33,6 +33,7 @@
#include <kdeclarative/qmlobject.h>
#include <KQuickAddons/QtQuickSettings>
+#include <kworkspace.h>
#include "view.h"
@@ -43,6 +44,7 @@ int main(int argc, char **argv)
qunsetenv("QT_DEVICE_PIXEL_RATIO");
QCoreApplication::setAttribute(Qt::AA_DisableHighDpiScaling);
+ KWorkSpace::detectPlatform(argc, argv);
QQuickWindow::setDefaultAlphaBuffer(true);
QApplication app(argc, argv);
KLocalizedString::setApplicationDomain("krunner");
diff --git a/ksmserver/logout-greeter/main.cpp b/ksmserver/logout-greeter/main.cpp
index a94442be..369bc08f 100644
--- a/ksmserver/logout-greeter/main.cpp
+++ b/ksmserver/logout-greeter/main.cpp
@@ -166,6 +166,7 @@ int main(int argc, char *argv[])
// Qt does not currently (5.9.4) support fullscreen on xdg_shell v6.
qputenv("QT_WAYLAND_SHELL_INTEGRATION", "wl-shell");
+ KWorkSpace::detectPlatform(argc, argv);
QQuickWindow::setDefaultAlphaBuffer(true);
QApplication app(argc, argv);
diff --git a/ksmserver/switchuser-greeter/main.cpp b/ksmserver/switchuser-greeter/main.cpp
index cbacb9fc..22200a43 100644
--- a/ksmserver/switchuser-greeter/main.cpp
+++ b/ksmserver/switchuser-greeter/main.cpp
@@ -138,6 +138,7 @@ int main(int argc, char *argv[])
// Qt does not currently (5.9.4) support fullscreen on xdg_shell v6.
qputenv("QT_WAYLAND_SHELL_INTEGRATION", "wl-shell");
+ KWorkSpace::detectPlatform(argc, argv);
QQuickWindow::setDefaultAlphaBuffer(true);
QGuiApplication app(argc, argv);
diff --git a/ksplash/ksplashqml/CMakeLists.txt b/ksplash/ksplashqml/CMakeLists.txt
index 105cd022..b4ad34ef 100644
--- a/ksplash/ksplashqml/CMakeLists.txt
+++ b/ksplash/ksplashqml/CMakeLists.txt
@@ -16,6 +16,7 @@ target_link_libraries(ksplashqml
KF5::QuickAddons
KF5::WaylandClient
KF5::WindowSystem
+ PW::KWorkspace
)
install(TARGETS ksplashqml ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
diff --git a/ksplash/ksplashqml/main.cpp b/ksplash/ksplashqml/main.cpp
index 25faacde..a97c3d60 100644
--- a/ksplash/ksplashqml/main.cpp
+++ b/ksplash/ksplashqml/main.cpp
@@ -23,6 +23,8 @@
#include <QTextStream>
+#include <kworkspace.h>
+
#include <iostream>
#include <unistd.h>
@@ -88,6 +90,7 @@ int main(int argc, char **argv)
//enable to send log output to /tmp/ksplash
//which is useful for debugging
// qInstallMsgHandler(myMessageHandler);
+ KWorkSpace::detectPlatform(argc, argv);
QQuickWindow::setDefaultAlphaBuffer(true);
SplashApp app(argc, argv);
diff --git a/kuiserver/CMakeLists.txt b/kuiserver/CMakeLists.txt
index 7e79076e..4787b828 100644
--- a/kuiserver/CMakeLists.txt
+++ b/kuiserver/CMakeLists.txt
@@ -60,6 +60,7 @@ endif ()
target_link_libraries(kdeinit_kuiserver5
+ PW::KWorkspace
Qt5::DBus
KF5::ConfigWidgets
KF5::DBusAddons
diff --git a/kuiserver/main.cpp b/kuiserver/main.cpp
index 2d8a5b6f..07df24a6 100644
--- a/kuiserver/main.cpp
+++ b/kuiserver/main.cpp
@@ -27,12 +27,15 @@
#include <kdbusservice.h>
+#include <kworkspace.h>
+
#include <QCommandLineParser>
Q_LOGGING_CATEGORY(KUISERVER, "kuiserver", QtInfoMsg)
extern "C" Q_DECL_EXPORT int kdemain(int argc, char **argv)
{
+ KWorkSpace::detectPlatform(argc, argv);
QApplication app(argc, argv);
app.setApplicationName(QStringLiteral("kuiserver"));
app.setApplicationVersion(QStringLiteral("2.0"));
diff --git a/libkworkspace/CMakeLists.txt b/libkworkspace/CMakeLists.txt
index b31ffc69..0f779040 100644
--- a/libkworkspace/CMakeLists.txt
+++ b/libkworkspace/CMakeLists.txt
@@ -73,3 +73,7 @@ install(EXPORT libkworkspaceLibraryTargets
NAMESPACE PW::
DESTINATION ${CMAKECONFIG_INSTALL_DIR}
FILE LibKWorkspaceLibraryTargets.cmake )
+
+if(BUILD_TESTING)
+ add_subdirectory(autotests)
+endif()
diff --git a/libkworkspace/autotests/CMakeLists.txt b/libkworkspace/autotests/CMakeLists.txt
new file mode 100644
index 00000000..4409dc6d
--- /dev/null
+++ b/libkworkspace/autotests/CMakeLists.txt
@@ -0,0 +1,5 @@
+include(ECMMarkAsTest)
+add_executable(testPlatformDetection testPlatformDetection.cpp)
+target_link_libraries(testPlatformDetection Qt5::Test PW::KWorkspace)
+add_test(NAME kworkspace-testPlatformDetection COMMAND testPlatformDetection)
+ecm_mark_as_test(testPlatformDetection)
diff --git a/libkworkspace/autotests/testPlatformDetection.cpp b/libkworkspace/autotests/testPlatformDetection.cpp
new file mode 100644
index 00000000..8e06afb1
--- /dev/null
+++ b/libkworkspace/autotests/testPlatformDetection.cpp
@@ -0,0 +1,128 @@
+/*
+ * Copyright 2018 Martin Flöser <mgraesslin@kde.org>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) version 3, or any
+ * later version accepted by the membership of KDE e.V. (or its
+ * successor approved by the membership of KDE e.V.), which shall
+ * act as a proxy defined in Section 6 of version 3 of the license.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#include <QtTest/QtTest>
+
+#include "../kworkspace.h"
+
+#include <vector>
+
+class TestPlatformDetection : public QObject
+{
+ Q_OBJECT
+private Q_SLOTS:
+ void init();
+ void testPlatformSelection_data();
+ void testPlatformSelection();
+ void testArguments_data();
+ void testArguments();
+ void testQtQpaPlatformIsSet_data();
+ void testQtQpaPlatformIsSet();
+};
+
+void TestPlatformDetection::init()
+{
+ qunsetenv("QT_QPA_PLATFORM");
+ qunsetenv("XDG_SESSION_TYPE");
+}
+
+void TestPlatformDetection::testPlatformSelection_data()
+{
+ QTest::addColumn<QByteArray>("xdgSessionType");
+ QTest::addColumn<QByteArray>("expectedQtQpaPlatform");
+
+ QTest::newRow("wayland") << QByteArrayLiteral("wayland") << QByteArrayLiteral("wayland");
+ QTest::newRow("x11") << QByteArrayLiteral("x11") << QByteArrayLiteral("xcb");
+ QTest::newRow("unknown") << QByteArrayLiteral("mir") << QByteArray();
+}
+
+void TestPlatformDetection::testPlatformSelection()
+{
+ QVERIFY(!qEnvironmentVariableIsSet("QT_QPA_PLATFORM"));
+ QFETCH(QByteArray, xdgSessionType);
+ qputenv("XDG_SESSION_TYPE", xdgSessionType);
+
+ std::vector<QByteArray> cppArgv{
+ QByteArrayLiteral("testPlatformDetction")
+ };
+ std::vector<char*> argv;
+ for (QByteArray &arg : cppArgv) {
+ argv.push_back(arg.data());
+ }
+ KWorkSpace::detectPlatform(1, argv.data());
+ QTEST(qgetenv("QT_QPA_PLATFORM"), "expectedQtQpaPlatform");
+}
+
+void TestPlatformDetection::testArguments_data()
+{
+ QTest::addColumn<QByteArray>("arg");
+
+ QTest::newRow("-platform") << QByteArrayLiteral("-platform");
+ QTest::newRow("--platform") << QByteArrayLiteral("--platform");
+ QTest::newRow("-platform=wayland") << QByteArrayLiteral("-platform=wayland");
+ QTest::newRow("--platform=wayland") << QByteArrayLiteral("--platform=wayland");
+}
+
+void TestPlatformDetection::testArguments()
+{
+ QVERIFY(!qEnvironmentVariableIsSet("QT_QPA_PLATFORM"));
+ qputenv("XDG_SESSION_TYPE", "wayland");
+
+ QFETCH(QByteArray, arg);
+ std::vector<QByteArray> cppArgv{
+ QByteArrayLiteral("testPlatformDetction"),
+ arg,
+ QByteArrayLiteral("wayland")
+ };
+ std::vector<char*> argv;
+ for (QByteArray &arg : cppArgv) {
+ argv.push_back(arg.data());
+ }
+ KWorkSpace::detectPlatform(3, argv.data());
+ QVERIFY(!qEnvironmentVariableIsSet("QT_QPA_PLATFORM"));
+}
+
+void TestPlatformDetection::testQtQpaPlatformIsSet_data()
+{
+ QTest::addColumn<QByteArray>("qtQpaPlatform");
+ QTest::addColumn<QByteArray>("xdgSessionType");
+
+ QTest::newRow("xcb - x11") << QByteArrayLiteral("xcb") << QByteArrayLiteral("x11");
+ QTest::newRow("xcb - wayland") << QByteArrayLiteral("xcb") << QByteArrayLiteral("wayland");
+ QTest::newRow("wayland - x11") << QByteArrayLiteral("wayland") << QByteArrayLiteral("x11");
+ QTest::newRow("wayland - wayland") << QByteArrayLiteral("wayland") << QByteArrayLiteral("wayland");
+ QTest::newRow("windows - x11") << QByteArrayLiteral("windows") << QByteArrayLiteral("x11");
+}
+
+void TestPlatformDetection::testQtQpaPlatformIsSet()
+{
+ // test verifies that if QT_QPA_PLATFORM is set the env variable does not get adjusted
+ QFETCH(QByteArray, qtQpaPlatform);
+ QFETCH(QByteArray, xdgSessionType);
+ qputenv("QT_QPA_PLATFORM", qtQpaPlatform);
+ qputenv("XDG_SESSION_TYPE", xdgSessionType);
+
+ KWorkSpace::detectPlatform(0, nullptr);
+ QCOMPARE(qgetenv("QT_QPA_PLATFORM"), qtQpaPlatform);
+}
+
+QTEST_GUILESS_MAIN(TestPlatformDetection)
+
+#include "testPlatformDetection.moc"
diff --git a/libkworkspace/kworkspace.cpp b/libkworkspace/kworkspace.cpp
index 444270d8..5b0b2505 100644
--- a/libkworkspace/kworkspace.cpp
+++ b/libkworkspace/kworkspace.cpp
@@ -260,6 +260,30 @@ void propagateSessionManager()
#endif
}
+void detectPlatform(int argc, char **argv)
+{
+ if (qEnvironmentVariableIsSet("QT_QPA_PLATFORM")) {
+ return;
+ }
+ for (int i = 0; i < argc; i++) {
+ if (qstrcmp(argv[i], "-platform") == 0 ||
+ qstrcmp(argv[i], "--platform") == 0 ||
+ QByteArray(argv[i]).startsWith("-platform=") ||
+ QByteArray(argv[i]).startsWith("--platform=")) {
+ return;
+ }
+ }
+ const QByteArray sessionType = qgetenv("XDG_SESSION_TYPE");
+ if (sessionType.isEmpty()) {
+ return;
+ }
+ if (qstrcmp(sessionType, "wayland") == 0) {
+ qputenv("QT_QPA_PLATFORM", "wayland");
+ } else if (qstrcmp(sessionType, "x11") == 0) {
+ qputenv("QT_QPA_PLATFORM", "xcb");
+ }
+}
+
} // end namespace
diff --git a/libkworkspace/kworkspace.h b/libkworkspace/kworkspace.h
index 6cfc94fe..44025674 100644
--- a/libkworkspace/kworkspace.h
+++ b/libkworkspace/kworkspace.h
@@ -150,6 +150,21 @@ namespace KWorkSpace
*/
KWORKSPACE_EXPORT void propagateSessionManager();
+ /**
+ * Performs platform detection and adjusts QT_QPA_PLATFORM environment
+ * variable to either xcb or wayland depending on the detected platform.
+ *
+ * The detection is based on the XDG_SESSION_TYPE environment variable.
+ * The detection is skipped in case QT_QPA_PLATFORM is already set or
+ * if one of the command line arguments contains the "-platform" variable.
+ *
+ * In order to make use of this function, it has to be invoked before the
+ * QGuiApplication instance is constructed. Invoking after constructing the
+ * QGuiApplication has no effect.
+ * @since 5.13
+ **/
+ KWORKSPACE_EXPORT void detectPlatform(int argc, char **argv);
+
}
#endif
diff --git a/shell/CMakeLists.txt b/shell/CMakeLists.txt
index 04ad01ae..b5f53f84 100644
--- a/shell/CMakeLists.txt
+++ b/shell/CMakeLists.txt
@@ -93,6 +93,7 @@ target_link_libraries(plasmashell
KF5::XmlGui
KF5::Package
KF5::WaylandClient
+ PW::KWorkspace
)
target_include_directories(plasmashell PRIVATE "${CMAKE_BINARY_DIR}")
target_compile_definitions(plasmashell PRIVATE -DPROJECT_VERSION="${PROJECT_VERSION}")
diff --git a/shell/main.cpp b/shell/main.cpp
index 22ef0388..09cca77a 100644
--- a/shell/main.cpp
+++ b/shell/main.cpp
@@ -31,6 +31,7 @@
#include <kdbusservice.h>
#include <klocalizedstring.h>
#include <kcrash.h>
+#include <kworkspace.h>
#include "shellcorona.h"
#include "standaloneappcorona.h"
@@ -56,6 +57,7 @@ int main(int argc, char *argv[])
QQuickWindow::setDefaultAlphaBuffer(true);
+ KWorkSpace::detectPlatform(argc, argv);
QApplication app(argc, argv);
KLocalizedString::setApplicationDomain("plasmashell");
diff --git a/startkde/kcminit/CMakeLists.txt b/startkde/kcminit/CMakeLists.txt
index 783c1966..00f024e9 100644
--- a/startkde/kcminit/CMakeLists.txt
+++ b/startkde/kcminit/CMakeLists.txt
@@ -14,7 +14,7 @@ qt5_add_dbus_interface(kcminit_KDEINIT_SRCS ${klauncher_xml} klauncher_iface)
kf5_add_kdeinit_executable( kcminit ${kcminit_KDEINIT_SRCS})
-target_link_libraries(kdeinit_kcminit Qt5::Core Qt5::Gui Qt5::DBus KF5::CoreAddons KF5::Service KF5::I18n)
+target_link_libraries(kdeinit_kcminit Qt5::Core Qt5::Gui Qt5::DBus KF5::CoreAddons KF5::Service KF5::I18n PW::KWorkspace)
if (XCB_XCB_FOUND)
target_link_libraries(kdeinit_kcminit XCB::XCB)
endif()
@@ -32,7 +32,7 @@ set(kcminit_startup_KDEINIT_SRCS main.cpp)
qt5_add_dbus_interface(kcminit_startup_KDEINIT_SRCS ${klauncher_xml} klauncher_iface)
kf5_add_kdeinit_executable( kcminit_startup ${kcminit_startup_KDEINIT_SRCS})
-target_link_libraries(kdeinit_kcminit_startup Qt5::Core Qt5::Gui Qt5::DBus KF5::CoreAddons KF5::Service KF5::I18n)
+target_link_libraries(kdeinit_kcminit_startup Qt5::Core Qt5::Gui Qt5::DBus KF5::CoreAddons KF5::Service KF5::I18n PW::KWorkspace)
if (XCB_XCB_FOUND)
target_link_libraries(kdeinit_kcminit_startup XCB::XCB)
endif()
diff --git a/startkde/kcminit/main.cpp b/startkde/kcminit/main.cpp
index 7181281c..6ac26bda 100644
--- a/startkde/kcminit/main.cpp
+++ b/startkde/kcminit/main.cpp
@@ -42,6 +42,7 @@
#include <kconfiggroup.h>
#include <klocalizedstring.h>
#include <kservicetypetrader.h>
+#include <kworkspace.h>
static int ready[ 2 ];
static bool startup = false;
@@ -221,6 +222,7 @@ extern "C" Q_DECL_EXPORT int kdemain(int argc, char *argv[])
startup = ( strcmp( argv[ 0 ], "kcminit_startup" ) == 0 ); // started from startkde?
+ KWorkSpace::detectPlatform(argc, argv);
QGuiApplication::setDesktopSettingsAware(false);
QGuiApplication app(argc, argv); //gui is needed for several modules
KLocalizedString::setApplicationDomain("kcminit");
diff --git a/systemmonitor/CMakeLists.txt b/systemmonitor/CMakeLists.txt
index e952d9ed..f925cb63 100644
--- a/systemmonitor/CMakeLists.txt
+++ b/systemmonitor/CMakeLists.txt
@@ -25,6 +25,7 @@ target_link_libraries(systemmonitor
KF5::XmlGui
KF5::GlobalAccel
KF5::WindowSystem
+ PW::KWorkspace
)
install(TARGETS systemmonitor DESTINATION ${KDE_INSTALL_BINDIR})
diff --git a/systemmonitor/main.cpp b/systemmonitor/main.cpp
index ccf6cae7..7311580b 100644
--- a/systemmonitor/main.cpp
+++ b/systemmonitor/main.cpp
@@ -21,10 +21,13 @@
#include <QDBusConnection>
#include <KLocalizedString>
+#include <kworkspace.h>
+
#include "ksystemactivitydialog.h"
int main(int argc, char** argv)
{
+ KWorkSpace::detectPlatform(argc, argv);
QApplication app(argc, argv);
KLocalizedString::setApplicationDomain("systemmonitor");
--
2.16.2

View File

@ -1,89 +0,0 @@
From 9dd3d4711ac74fd9d93344db7e6c2691026f21c5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Martin=20Fl=C3=B6ser?= <mgraesslin@kde.org>
Date: Sun, 18 Mar 2018 11:08:02 +0100
Subject: [PATCH 3/3] No longer export QT_QPA_PLATFORM env variable to the
session
Summary:
As discussed the env variables are no longer exported. Thus Qt
applications follow the default qpa platform they are compiled with and
thus still function if they are packaged with a Qt without QtWayland.
Plasma's internal processes pick the qpa platform depending on the
session type as well as our flatpak apps.
KRunner and Plasmashell are adjusted to not leak the env variable they
set for themselves.
Test Plan:
Started a wayland session, verified with KWin's debug console
that plasmashell and krunner are wayland. Launched kwrite from both plasma
and krunner and verified that it's xcb
Reviewers: #plasma
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D11447
---
krunner/main.cpp | 5 +++++
shell/main.cpp | 5 +++++
startkde/startplasmacompositor.cmake | 4 ----
3 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/krunner/main.cpp b/krunner/main.cpp
index 06bf47c0..329eca7e 100644
--- a/krunner/main.cpp
+++ b/krunner/main.cpp
@@ -44,9 +44,14 @@ int main(int argc, char **argv)
qunsetenv("QT_DEVICE_PIXEL_RATIO");
QCoreApplication::setAttribute(Qt::AA_DisableHighDpiScaling);
+ const bool qpaVariable = qEnvironmentVariableIsSet("QT_QPA_PLATFORM");
KWorkSpace::detectPlatform(argc, argv);
QQuickWindow::setDefaultAlphaBuffer(true);
QApplication app(argc, argv);
+ if (!qpaVariable) {
+ // don't leak the env variable to processes we start
+ qunsetenv("QT_QPA_PLATFORM");
+ }
KLocalizedString::setApplicationDomain("krunner");
KQuickAddons::QtQuickSettings::init();
diff --git a/shell/main.cpp b/shell/main.cpp
index 09cca77a..037eb8f3 100644
--- a/shell/main.cpp
+++ b/shell/main.cpp
@@ -57,8 +57,13 @@ int main(int argc, char *argv[])
QQuickWindow::setDefaultAlphaBuffer(true);
+ const bool qpaVariable = qEnvironmentVariableIsSet("QT_QPA_PLATFORM");
KWorkSpace::detectPlatform(argc, argv);
QApplication app(argc, argv);
+ if (!qpaVariable) {
+ // don't leak the env variable to processes we start
+ qunsetenv("QT_QPA_PLATFORM");
+ }
KLocalizedString::setApplicationDomain("plasmashell");
// The executable's path is added to the library/plugin paths.
diff --git a/startkde/startplasmacompositor.cmake b/startkde/startplasmacompositor.cmake
index 8ac47aa7..dd9e304d 100644
--- a/startkde/startplasmacompositor.cmake
+++ b/startkde/startplasmacompositor.cmake
@@ -218,10 +218,6 @@ export KDE_SESSION_UID
XDG_CURRENT_DESKTOP=KDE
export XDG_CURRENT_DESKTOP
-#enforce wayland QPA
-QT_QPA_PLATFORM=wayland
-export QT_QPA_PLATFORM
-
# kwin_wayland can possibly also start dbus-activated services which need env variables.
# In that case, the update in startplasma might be too late.
if which dbus-update-activation-environment >/dev/null 2>/dev/null ; then
--
2.16.2

View File

@ -1,28 +1,37 @@
From b704fa4d735222166cd2d43c9f8da60df5b4fd0d Mon Sep 17 00:00:00 2001
From: Fabian Vogt <fabian@ritter-vogt.de>
Subject: sddm-theme: Set needsFullUserModel=false
Date: Fri, 4 May 2018 09:10:10 +0200
Subject: [PATCH] sddm-theme: Set needsFullUserModel=false
Otherwise SDDM has to load all users even if they're not shown.
See https://github.com/sddm/sddm/pull/1017
---
sddm-theme/Main.qml | 2 ++
sddm-theme/theme.conf.cmake | 1 +
2 files changed, 3 insertions(+)
diff --git a/sddm-theme/Main.qml b/sddm-theme/Main.qml
index 71fcd44d..e951aa2f 100644
index 3ef30117..775b650b 100644
--- a/sddm-theme/Main.qml
+++ b/sddm-theme/Main.qml
@@ -97,6 +97,8 @@ PlasmaCore.ColorScope {
@@ -170,6 +170,8 @@ PlasmaCore.ColorScope {
if ( userListModel.count == 0 ) return false
if ( userListModel.count == 0 ) return false
+ if ( userListModel.hasOwnProperty("containsAllUsers") && !userListModel.containsAllUsers) return false
+ if ( userListModel.hasOwnProperty("containsAllUsers") && !userListModel.containsAllUsers) return false
+
return userListModel.count <= userListModel.disableAvatarsThreshold && (userList.y + mainStack.y) > 0
}
return userListModel.count <= userListModel.disableAvatarsThreshold && (userList.y + mainStack.y) > 0
}
diff --git a/sddm-theme/theme.conf b/sddm-theme/theme.conf
index c293b25b..54d7f1b2 100644
--- a/sddm-theme/theme.conf
+++ b/sddm-theme/theme.conf
diff --git a/sddm-theme/theme.conf.cmake b/sddm-theme/theme.conf.cmake
index 69d30705..6bdbc00c 100644
--- a/sddm-theme/theme.conf.cmake
+++ b/sddm-theme/theme.conf.cmake
@@ -2,3 +2,4 @@
type=color
type=image
color=#1d99f3
background=
background=${CMAKE_INSTALL_PREFIX}/${WALLPAPER_INSTALL_DIR}/Next/contents/images/3200x2000.png
+needsFullUserModel=false
--
2.16.2

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:93b70f559818d685dedf3c3f33d53eb4d9dc9892379c9040859349e385b8c5ef
size 4564204

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b58f8eca82de3da6dbafbc7b1e7807c8f44096b68ae2f0c017dd9a3b9010feb3
size 4553448

View File

@ -1,3 +1,19 @@
-------------------------------------------------------------------
Sat May 19 14:16:38 CEST 2018 - fabian@ritter-vogt.de
- Update to 5.12.90
* New feature release
* For more details please see:
* https://www.kde.org/announcements/plasma-5.12.90.php
- Too many changes to list here
- Add patch to add default desktop icons:
* 0001-Revert-No-icons-on-the-desktop-by-default.patch
- Remove patches, now upstream:
* 0001-Add-a-button-to-clear-the-notification-history.patch
* 0001-Call-KLocalizedString-setApplicationDomain-after-Q-A.patch
* 0002-Add-platform-detection-to-KWorkspace-library-to-adju.patch
* 0003-No-longer-export-QT_QPA_PLATFORM-env-variable-to-the.patch
-------------------------------------------------------------------
Mon May 7 11:49:35 UTC 2018 - fabian@ritter-vogt.de

View File

@ -19,7 +19,7 @@
#Compat macro for new _fillupdir macro introduced in Nov 2017
%{!?_fillupdir: %global _fillupdir %{_localstatedir}/adm/fillup-templates}
%define kf5_version 5.34.0
%define kf5_version 5.45.0
%bcond_without lang
Name: plasma5-workspace
@ -27,20 +27,16 @@ Name: plasma5-workspace
%{!?_plasma5_bugfix: %global _plasma5_bugfix %{version}}
# Lasted ABI-stable Plasma (e.g. 5.8 in KF5, but 5.9.1 in KUF)
%{!?_plasma5_version: %global _plasma5_version %(echo %{_plasma5_bugfix} | awk -F. '{print $1"."$2}')}
Version: 5.12.5
Version: 5.12.90
Release: 0
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: http://download.kde.org/unstable/plasma/%{version}/plasma-workspace-%{version}.tar.xz
Source1: baselibs.conf
# PATCHES 000-100 and above are from upstream 5.12 branch
# PATCHES 101-500 are from upstream master/5.13 branch
Patch201: 0001-Call-KLocalizedString-setApplicationDomain-after-Q-A.patch
Patch202: 0002-Add-platform-detection-to-KWorkspace-library-to-adju.patch
Patch203: 0003-No-longer-export-QT_QPA_PLATFORM-env-variable-to-the.patch
Patch204: 0001-Add-a-button-to-clear-the-notification-history.patch
# PATCHES 501-??? are PATCH-FIX-OPENSUSE
# PATCH-FIX-OPENSUSE 0001-Rename-qdbus-in-startkde.patch cgiboudeaux@gmx.com -- Rename the qdbus executable in startkde
Patch501: 0001-Rename-qdbus-in-startkde.patch
@ -51,8 +47,10 @@ Patch503: 0001-Set-GTK_BACKEND-x11-in-a-wayland-session.patch
Patch504: 0001-Add-suffix-to-the-wayland-session-s-name.patch
# PATCH-FIX-UPSTREAM (or alternative solution)
Patch505: 0001-Set-XDG_SESSION_TYPE-wayland-in-startplasmacomposito.patch
# PATCH-FEATURE-OPENSUSE
Patch506: 0001-Revert-No-icons-on-the-desktop-by-default.patch
# PATCH-FIX-OPENSUSE
Patch506: lazy-sddm-theme.patch
Patch507: lazy-sddm-theme.patch
BuildRequires: breeze5-icons
BuildRequires: fdupes
BuildRequires: kf5-filesystem
@ -338,7 +336,7 @@ fi
--remove default-xsession.desktop %{_datadir}/xsessions/plasma5.desktop
%files libs
%doc COPYING*
%license COPYING*
%{_kf5_libdir}/libkworkspace5.so.*
%{_kf5_libdir}/libplasma-geolocation-interface.so.*
%{_kf5_libdir}/libtaskmanager.so.*
@ -346,7 +344,7 @@ fi
%{_kf5_libdir}/libcolorcorrect.so.*
%files
%doc COPYING*
%license COPYING*
%{_kf5_bindir}/xembedsniproxy
%{_kf5_bindir}/kcheckrunning
%{_kf5_bindir}/kcminit
@ -364,6 +362,7 @@ fi
%{_kf5_bindir}/startplasmacompositor
%{_kf5_bindir}/systemmonitor
%{_kf5_bindir}/plasma_waitforname
%{_kf5_bindir}/gmenudbusmenuproxy
%{_kf5_configdir}/autostart/org.kde.plasmashell.desktop
%{_kf5_configdir}/autostart/klipper.desktop
%{_kf5_configdir}/autostart/krunner.desktop
@ -415,9 +414,11 @@ fi
%dir %{_kf5_sharedir}/sddm
%dir %{_kf5_sharedir}/sddm/themes
%{_kf5_sharedir}/sddm/themes/breeze/
%{_kf5_debugdir}/*.categories
%{_kf5_configdir}/autostart/gmenudbusmenuproxy.desktop
%files devel
%doc COPYING*
%license COPYING*
%{_kf5_prefix}/include/kworkspace5/
%{_kf5_prefix}/include/plasma/
%{_kf5_prefix}/include/taskmanager/