diff --git a/fc01a7f837d06ee9e92d02f13acb79c2b06e9e3c.patch b/fc01a7f837d06ee9e92d02f13acb79c2b06e9e3c.patch new file mode 100644 index 0000000..a6dc3ad --- /dev/null +++ b/fc01a7f837d06ee9e92d02f13acb79c2b06e9e3c.patch @@ -0,0 +1,37 @@ +From fc01a7f837d06ee9e92d02f13acb79c2b06e9e3c Mon Sep 17 00:00:00 2001 +From: Fushan Wen +Date: Fri, 4 Aug 2023 12:40:17 +0800 +Subject: [PATCH] shell: avoid potential crash when previous window is gone + before returning focus + +m_previousPlasmaWindow is bound to a window, and if a window is closed +before `restorePreviousWindow` is called, there will be a crash. Use +QPointer to track the window destruction. +--- + shell/shellcorona.h | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/shell/shellcorona.h b/shell/shellcorona.h +index a3aff351af..db218d16e2 100644 +--- a/shell/shellcorona.h ++++ b/shell/shellcorona.h +@@ -14,6 +14,7 @@ + + #include + #include ++#include + #include + #include + +@@ -301,7 +302,7 @@ private: + KWayland::Client::PlasmaShell *m_waylandPlasmaShell; + // For getting the active window on Wayland + KWayland::Client::PlasmaWindowManagement *m_waylandWindowManagement = nullptr; +- KWayland::Client::PlasmaWindow *m_previousPlasmaWindow = nullptr; ++ QPointer m_previousPlasmaWindow; + bool m_closingDown : 1; + bool m_screenReorderInProgress = false; + QString m_testModeLayout; +-- +GitLab + diff --git a/plasma-workspace-5.25.5.tar.xz b/plasma-workspace-5.27.6.tar.xz similarity index 71% rename from plasma-workspace-5.25.5.tar.xz rename to plasma-workspace-5.27.6.tar.xz index 9881197..a3db526 100644 Binary files a/plasma-workspace-5.25.5.tar.xz and b/plasma-workspace-5.27.6.tar.xz differ diff --git a/plasma-workspace-konsole-in-contextmenu.patch b/plasma-workspace-konsole-in-contextmenu.patch deleted file mode 100644 index e878c7e..0000000 --- a/plasma-workspace-konsole-in-contextmenu.patch +++ /dev/null @@ -1,78 +0,0 @@ -diff -Nurr plasma-workspace-5.24.90-new/containmentactions/contextmenu/menu.cpp plasma-workspace-5.24.90/containmentactions/contextmenu/menu.cpp ---- plasma-workspace-5.24.90-new/containmentactions/contextmenu/menu.cpp 2022-05-21 16:42:05.980661922 +0200 -+++ plasma-workspace-5.24.90/containmentactions/contextmenu/menu.cpp 2022-05-21 16:47:43.503606798 +0200 -@@ -17,6 +17,7 @@ - #include - #include - #include -+#include - #include - #include - -@@ -29,6 +30,7 @@ - - ContextMenu::ContextMenu(QObject *parent, const QVariantList &args) - : Plasma::ContainmentActions(parent, args) -+ , m_runKonsoleAction(nullptr) - , m_session(new SessionManagement(this)) - { - } -@@ -61,6 +63,7 @@ - << QStringLiteral("configure shortcuts") - << QStringLiteral("_sep1") - << QStringLiteral("_context") -+ << QStringLiteral("_run_konsole") - << QStringLiteral("_run_command") - << QStringLiteral("add widgets") - << QStringLiteral("_add panel") -@@ -97,6 +100,10 @@ - m_runCommandAction->setShortcut(KGlobalAccel::self()->globalShortcut(QStringLiteral("krunner.desktop"), QStringLiteral("_launch")).value(0)); - connect(m_runCommandAction, &QAction::triggered, this, &ContextMenu::runCommand); - -+ m_runKonsoleAction = new QAction(i18n("Konsole"), this); -+ m_runKonsoleAction->setIcon(QIcon::fromTheme("utilities-terminal")); -+ connect(m_runKonsoleAction, &QAction::triggered, this, &ContextMenu::runKonsole); -+ - m_lockScreenAction = new QAction(i18nc("plasma_containmentactions_contextmenu", "Lock Screen"), this); - m_lockScreenAction->setIcon(QIcon::fromTheme(QStringLiteral("system-lock-screen"))); - m_lockScreenAction->setShortcut(KGlobalAccel::self()->globalShortcut(QStringLiteral("ksmserver"), QStringLiteral("Lock Session")).value(0)); -@@ -179,6 +186,8 @@ - if (KAuthorized::authorizeAction(QStringLiteral("run_command")) && KAuthorized::authorize(QStringLiteral("run_command"))) { - return m_runCommandAction; - } -+ } else if (name == QLatin1String("_run_konsole")) { -+ return m_runKonsoleAction; - } else if (name == QLatin1String("_lock_screen")) { - if (KAuthorized::authorizeAction(QStringLiteral("lock_screen"))) { - return m_lockScreenAction; -@@ -212,6 +221,13 @@ - return nullptr; - } - -+void ContextMenu::runKonsole() -+{ -+ auto job = new KTerminalLauncherJob(QString()); -+ job->setWorkingDirectory(QDir::homePath()); -+ job->start(); -+} -+ - void ContextMenu::runCommand() - { - if (!KAuthorized::authorizeAction(QStringLiteral("run_command"))) { -diff -Nurr plasma-workspace-5.24.90-new/containmentactions/contextmenu/menu.h plasma-workspace-5.24.90/containmentactions/contextmenu/menu.h ---- plasma-workspace-5.24.90-new/containmentactions/contextmenu/menu.h 2022-05-21 16:42:05.980661922 +0200 -+++ plasma-workspace-5.24.90/containmentactions/contextmenu/menu.h 2022-05-21 16:48:39.122597718 +0200 -@@ -29,11 +29,13 @@ - - public Q_SLOTS: - void runCommand(); -+ void runKonsole(); - void startLogout(); - void configureDisplays(); - - private: - QAction *m_runCommandAction = nullptr; -+ QAction *m_runKonsoleAction = nullptr; - QAction *m_lockScreenAction = nullptr; - QAction *m_logoutAction = nullptr; - QAction *m_configureDisplaysAction = nullptr; diff --git a/plasma-workspace.spec b/plasma-workspace.spec index 0ed002b..c2ed028 100644 --- a/plasma-workspace.spec +++ b/plasma-workspace.spec @@ -1,7 +1,7 @@ -# Bootstrap? +# Bootstrap: when new arch don't have plasmashell %global bootstrap 1 -%global kf5_version_min 5.82.0 +%global kf5_version_min 5.98.0 # Don't control wayland by default %bcond_without wayland_default @@ -10,7 +10,7 @@ Name: plasma-workspace Summary: Plasma workspace, applications and applets -Version: 5.25.5 +Version: 5.27.6 Release: 1 License: GPLv2+ @@ -34,7 +34,8 @@ Source11: startkderc Source40: ssh-agent.conf Source41: spice-vdagent.conf -Patch100: plasma-workspace-konsole-in-contextmenu.patch +# https://invent.kde.org/plasma/plasma-workspace/-/commit/fc01a7f837d06ee9e92d02f13acb79c2b06e9e3c +Patch0: fc01a7f837d06ee9e92d02f13acb79c2b06e9e3c.patch # udev BuildRequires: zlib-devel @@ -75,6 +76,7 @@ BuildRequires: libqalculate-devel %global kf5_pim 1 BuildRequires: kf5-kholidays-devel BuildRequires: kf5-prison-devel +BuildRequires: libicu-devel BuildRequires: qt5-qtbase-devel >= 5.15 BuildRequires: qt5-qtbase-private-devel @@ -85,11 +87,13 @@ BuildRequires: qt5-qtdeclarative-devel BuildRequires: qt5-qtsvg-devel BuildRequires: qt5-qtwayland-devel BuildRequires: phonon-qt5-devel +BuildRequires: polkit-qt5-1-devel BuildRequires: kf5-rpm-macros >= %{kf5_version_min} BuildRequires: systemd BuildRequires: extra-cmake-modules BuildRequires: kf5-baloo-devel >= %{kf5_version_min} +BuildRequires: kf5-libkexiv2-devel >= %{kf5_version_min} BuildRequires: kf5-kactivities-stats-devel >= %{kf5_version_min} BuildRequires: kf5-karchive-devel >= %{kf5_version_min} BuildRequires: kf5-kcmutils-devel >= %{kf5_version_min} @@ -103,6 +107,7 @@ BuildRequires: kf5-kguiaddons-devel >= %{kf5_version_min} BuildRequires: kf5-kidletime-devel >= %{kf5_version_min} BuildRequires: kf5-kinit-devel >= %{kf5_version_min} BuildRequires: kf5-kitemmodels-devel >= %{kf5_version_min} +BuildRequires: kf5-kio-devel >= %{kf5_version_min} BuildRequires: kf5-kjsembed-devel >= %{kf5_version_min} BuildRequires: kf5-knewstuff-devel >= %{kf5_version_min} BuildRequires: kf5-knotifications-devel >= %{kf5_version_min} @@ -135,6 +140,7 @@ BuildRequires: qt5-qtbase-static BuildRequires: kuserfeedback-devel BuildRequires: plasma-wayland-protocols-devel +BuildRequires: plasma-breeze-devel >= 5.25.3 BuildRequires: chrpath BuildRequires: desktop-file-utils @@ -315,7 +321,7 @@ Requires: xsetroot %prep %setup -q -%patch100 -p1 +%patch0 -p1 %build @@ -378,6 +384,7 @@ setsebool -P selinuxuser_execmod 1 %{_kf5_bindir}/plasma_session %{_kf5_bindir}/plasma-apply-* %{_kf5_bindir}/plasma-interactiveconsole +%{_kf5_bindir}/plasma-localegen-helper %{_kf5_bindir}/plasma-shutdown %{_kf5_bindir}/plasma_waitforname %{_kf5_bindir}/systemmonitor @@ -394,8 +401,8 @@ setsebool -P selinuxuser_execmod 1 %{_libexecdir}/kfontprint %{_libexecdir}/plasma-changeicons %{_libexecdir}/plasma-dbus-run-session-if-needed -%{_kf5_datadir}/ksplash/ %{_kf5_datadir}/plasma/avatars/ +%{_kf5_datadir}/plasma/nightcolor/ %{_kf5_datadir}/plasma/plasmoids/ %{_kf5_datadir}/plasma/services/ %{_kf5_datadir}/plasma/wallpapers/ @@ -409,12 +416,15 @@ setsebool -P selinuxuser_execmod 1 %{_sysconfdir}/xdg/startkderc %endif %{_sysconfdir}/xdg/autostart/*.desktop +%{_datadir}/zsh/site-functions/_plasmashell %{_datadir}/icons/hicolor/*/*/*font*.png %{_datadir}/icons/hicolor/scalable/apps/preferences-desktop-font-installer.svgz %{_datadir}/desktop-directories/*.directory %{_datadir}/dbus-1/services/*.service %{_datadir}/dbus-1/system-services/org.kde.fontinst.service +%{_datadir}/dbus-1/system-services/org.kde.localegenhelper.service %{_datadir}/dbus-1/system.d/org.kde.fontinst.conf +%{_datadir}/dbus-1/system.d/org.kde.localegenhelper.conf %{_datadir}/knsrcfiles/*.knsrc %{_datadir}/kfontinst/icons/hicolor/*/actions/*font*.png %{_datadir}/konqsidebartng/virtual_folders/services/fonts.desktop @@ -422,8 +432,8 @@ setsebool -P selinuxuser_execmod 1 %{_datadir}/kxmlgui5/kfontview/kfontviewpart.rc %{_datadir}/kxmlgui5/kfontview/kfontviewui.rc %{_kf5_datadir}/kservices5/ServiceMenus/installfont.desktop -%{_kf5_datadir}/kservices5/ServiceMenus/setaswallpaper.desktop -%{_kf5_datadir}/kservices5/*.desktop +%{_kf5_datadir}/kio/servicemenus/setaswallpaper.desktop +#{_kf5_datadir}/kservices5/*.desktop %{_kf5_datadir}/kservicetypes5/*.desktop %{_kf5_datadir}/knotifications5/*.notifyrc %{_kf5_datadir}/config.kcfg/* @@ -444,7 +454,6 @@ setsebool -P selinuxuser_execmod 1 %{_kf5_datadir}/qlogging-categories5/*.categories %{_sysconfdir}/xdg/plasmanotifyrc %{_kf5_datadir}/kpackage/kcms/kcm_autostart/ -%{_kf5_datadir}/kpackage/kcms/kcm_translations/ %{_kf5_datadir}/kpackage/kcms/kcm_colors/ %{_kf5_datadir}/kpackage/kcms/kcm_cursortheme/ %{_kf5_datadir}/kpackage/kcms/kcm_desktoptheme/ @@ -453,11 +462,12 @@ setsebool -P selinuxuser_execmod 1 %{_kf5_datadir}/kpackage/kcms/kcm_lookandfeel/ %{_kf5_datadir}/kpackage/kcms/kcm_nightcolor/ %{_kf5_datadir}/kpackage/kcms/kcm_notifications/ +%{_kf5_datadir}/kpackage/kcms/kcm_regionandlang/ %{_kf5_datadir}/kpackage/kcms/kcm_style/ %{_kf5_datadir}/kpackage/kcms/kcm_users/ %{_kf5_datadir}/kpackage/kcms/kcm_icons/ -%{_kf5_datadir}/kpackage/kcms/kcm_formats/ %{_kf5_datadir}/polkit-1/actions/org.kde.fontinst.policy +%{_kf5_datadir}/polkit-1/actions/org.kde.localegenhelper.policy %{_userunitdir}/*.service %{_userunitdir}/plasma-core.target %dir %{_userunitdir}/plasma-core.target.d/ @@ -491,7 +501,6 @@ setsebool -P selinuxuser_execmod 1 %if 0%{?kf5_pim} %{_kf5_qtplugindir}/plasmacalendarplugins/ %endif -%{_kf5_qtplugindir}/*.so %exclude %{_kf5_qtplugindir}/plasma/dataengine/plasma_engine_geolocation.so %exclude %{_kf5_qtplugindir}/plasma/geolocationprovider/plasma-geolocation-gps.so %exclude %{_kf5_qtplugindir}/plasma/geolocationprovider/plasma-geolocation-ip.so @@ -504,7 +513,9 @@ setsebool -P selinuxuser_execmod 1 %{_qt5_plugindir}/plasma/kcms/systemsettings/kcm_*.so %{_libdir}/kconf_update_bin/krunnerhistory %{_libdir}/kconf_update_bin/krunnerglobalshortcuts +%{_libdir}/kconf_update_bin/plasmashell-5.27-use-panel-thickness-in-default-group %{_kf5_qtplugindir}/kf5/parts/kfontviewpart.so +%{_kf5_qtplugindir}/kf5/thumbcreator/fontthumbnail.so %{_kf5_qtplugindir}/plasma/containmentactions/plasma_containmentactions_applauncher.so %{_kf5_qtplugindir}/plasma/containmentactions/plasma_containmentactions_contextmenu.so %{_kf5_qtplugindir}/plasma/containmentactions/plasma_containmentactions_paste.so @@ -517,6 +528,7 @@ setsebool -P selinuxuser_execmod 1 %{_libexecdir}/plasma-sourceenv.sh %{_kf5_datadir}/kconf_update/krunnerhistory.upd %{_kf5_datadir}/kconf_update/krunnerglobalshortcuts2.upd +%{_kf5_datadir}/kconf_update/plasmashell-5.27-use-panel-thickness-in-default-group.upd %{_kf5_datadir}/kglobalaccel/org.kde.krunner.desktop %files geolocation @@ -570,5 +582,8 @@ setsebool -P selinuxuser_execmod 1 %endif %changelog +* Tue Aug 29 2023 misaka00251 - 5.27.6-1 +- Upgrade to 5.27.6 + * Fri Jul 15 2022 misaka00251 - 5.25.5-1 - Init package