[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1107799: unblock: plasma-workspace/4:6.3.5-1



Package: release.debian.org
Severity: normal
X-Debbugs-Cc: plasma-workspace@packages.debian.org, Qt/KDE Maintainers <debian-qt-kde@lists.debian.org>
Control: affects -1 + src:plasma-workspace
User: release.debian.org@packages.debian.org
Usertags: unblock

Dear Release Team,

please unblock package plasma-workspace.

[ Reason ]
It contains the following changes:
* New upstream release (6.3.5).
  - Notification: Escape lonely < and > symbols. (kde#502106)
  - Calendar: Move event indicator above main label.
  - Appelts/notifications: Fix Notifications positions. (kde#500192,
  kde#498599, kde#491217, kde#502160)
  - Applets/notifications: improve paddings again.
  - Multiscreen: fix an incorrect assert in screenInvariants. (kde#494616)
* Relax inter-plasma versioned dependency constraint so we can upload
  only 6.3.5 packages that have actual code changes.
* Drop backported patch now part of the upstream release.
* Backport upstream commits scheduled for 6.3.6:
  - Fix entirely wrong colours when enabling "Tint all colours with accent
  colour". (kde#503394)
  - Remove pointless "mount" action for audio CDs and blank optical media.
  (kde#503999)
  - libnotificationmanager: fix critical notifications not showing when Do
  not disturb is active.
  - components/sessionprivate: fix a potential crash in SessionsModel.
  - Fix deleting downloaded files from the notifications. (kde#504385)
  - Fix cell height calculation during vertical resizing.
  - klipper: make "Add Actions" dialog only window-modal to avoid blocking
  plasmashell completely. (kde#501938)
* Backport other upstream commits:
  - Fix lockscreen showing a placeholder instead of the real multimedia
  player name in some multi-player setups.
  - Fix Scroll Wheel issue in the All Applications section of the launcher.
  (kde#486481)
  - Fix implementation of the StatusNotifierItem spec to support context
  menu on left click in the system tray.
  - Never use scientific notation even for big numbers in notifications.
  (kde#422166)
  - Fix global menu sometimes showing menu items from non-active app.
  (kde#473714)
  - Fix issue in sorting users list to put the logged in user first.
  - Prevent trying to delete the logged in user and failing. (kde#495494)
  - Make selecting the C locale in regional options actually work.
  (kde#500432)
  - Fix duplicate optical devices in disks and devices applet. (kde#495140)
  - Disable pointless and surprising horizontal scrolling of notifications
  contents.
  - Warn users about full storage not just on / and /home.
  - Fix incorrect wallpaper preview when using screens with widely different
  aspect ratios. (kde#483097)
  - Fix OSD not properly displaying RTL languages. (kde#503255)
  - Fix Notifications widget added to the desktop not showing new
  notifications. (kde#503815)
  - Fix “Process Table” visualization for blank System Monitor sensor
  widgets to no longer incorrectly makes them think they’re in need of
  configuration the next time you restart Plasma or the system. (kde#504335)

Since the debdiff is somewhat big I’m attaching a simple diff trimmed
from the translation changes:
    diff -ur --exclude=po plasma-workspace-6.3.4 plasma-workspace-6.3.5

[ Tests ]
- Daily driving Plasma with these changes for a couple of weeks.

[ Risks ]
Only backport of upstream commits that apply cleanly. Further fixes can
easily be backported or the changes reverted.

[ Checklist ]
  [x] all changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach debdiff against the package in testing


Thanks!


unblock plasma-workspace/4:6.3.5-1
diff -Nru plasma-workspace-6.3.4/applets/clipboard/metadata.json plasma-workspace-6.3.5/applets/clipboard/metadata.json
--- plasma-workspace-6.3.4/applets/clipboard/metadata.json	2025-04-02 05:38:23.000000000 +0200
+++ plasma-workspace-6.3.5/applets/clipboard/metadata.json	2025-05-06 19:59:32.000000000 +0200
@@ -193,7 +193,7 @@
     "X-KDE-Keywords[es]": "klipper,portapapeles,copiar,pegar",
     "X-KDE-Keywords[eu]": "klipper,arbela,kopiatu,itsatsi",
     "X-KDE-Keywords[fi]": "klipper,leikepöytä,kopioi,liitä",
-    "X-KDE-Keywords[fr]": "klipper, presse-papier, copier, coller",
+    "X-KDE-Keywords[fr]": "Klipper, presse-papier, copier, coller",
     "X-KDE-Keywords[gl]": "klipper,clipboard,portapapeis,copy,copiar,paste,pegar",
     "X-KDE-Keywords[he]": "klipper,לוח גזירים,העתקה,הדבקה",
     "X-KDE-Keywords[hu]": "klipper,vágólap,másolás,beillesztés",
diff -Nru plasma-workspace-6.3.4/applets/manage-inputmethod/metadata.json plasma-workspace-6.3.5/applets/manage-inputmethod/metadata.json
--- plasma-workspace-6.3.4/applets/manage-inputmethod/metadata.json	2025-04-02 05:38:23.000000000 +0200
+++ plasma-workspace-6.3.5/applets/manage-inputmethod/metadata.json	2025-05-06 19:59:32.000000000 +0200
@@ -23,7 +23,7 @@
                 "Name[eu]": "Aleix Pol Gonzalez",
                 "Name[fi]": "Aleix Pol Gonzalez",
                 "Name[fr]": "Aleix Pol Gonzalez",
-                "Name[gl]": "Aleix Pol Gonzalez",
+                "Name[gl]": "Aleix Pol i Gonzàlez",
                 "Name[he]": "אלש פול י גונזלז",
                 "Name[hi]": "एलेक्स पोल गोंजालेज",
                 "Name[hu]": "Aleix Pol Gonzalez",
diff -Nru plasma-workspace-6.3.4/applets/notifications/notificationwindow.cpp plasma-workspace-6.3.5/applets/notifications/notificationwindow.cpp
--- plasma-workspace-6.3.4/applets/notifications/notificationwindow.cpp	2025-04-02 05:38:23.000000000 +0200
+++ plasma-workspace-6.3.5/applets/notifications/notificationwindow.cpp	2025-05-06 19:59:32.000000000 +0200
@@ -81,6 +81,7 @@
 {
     PlasmaShellWaylandIntegration::get(this)->setPosition(me->pos());
     PlasmaWindow::moveEvent(me);
+    update();
 }
 
 #include "moc_notificationwindow.cpp"
diff -Nru plasma-workspace-6.3.4/applets/notifications/package/contents/ui/delegates/DelegatePopup.qml plasma-workspace-6.3.5/applets/notifications/package/contents/ui/delegates/DelegatePopup.qml
--- plasma-workspace-6.3.4/applets/notifications/package/contents/ui/delegates/DelegatePopup.qml	2025-04-02 05:38:23.000000000 +0200
+++ plasma-workspace-6.3.5/applets/notifications/package/contents/ui/delegates/DelegatePopup.qml	2025-05-06 19:59:32.000000000 +0200
@@ -93,6 +93,8 @@
 
     Components.Summary {
         id: summary
+        // Base layout intentionally has no row spacing, so add top padding here when needed
+        Layout.topMargin: delegateRoot.hasBodyText || icon.visible ? Kirigami.Units.smallSpacing : 0
         Layout.fillWidth: true
         Layout.row: 2
         Layout.column: delegateRoot.__firstColumn
@@ -108,7 +110,7 @@
 
     Components.Icon {
         id: icon
-        // We removed the row spacing from the base layout, so re-add it just here
+        // Base layout intentionally has no row spacing, so add top padding here
         Layout.topMargin: Kirigami.Units.smallSpacing
         Layout.row: 2
         Layout.column: delegateRoot.__firstColumn + 1
diff -Nru plasma-workspace-6.3.4/CMakeLists.txt plasma-workspace-6.3.5/CMakeLists.txt
--- plasma-workspace-6.3.4/CMakeLists.txt	2025-04-02 05:38:23.000000000 +0200
+++ plasma-workspace-6.3.5/CMakeLists.txt	2025-05-06 19:59:32.000000000 +0200
@@ -1,13 +1,13 @@
 cmake_minimum_required(VERSION 3.16)
 
 project(plasma-workspace)
-set(PROJECT_VERSION "6.3.4")
+set(PROJECT_VERSION "6.3.5")
 string(REPLACE "." ";" VERSION_LIST ${PROJECT_VERSION})
 list(GET VERSION_LIST 0 PROJECT_VERSION_MAJOR)
 list(GET VERSION_LIST 1 PROJECT_VERSION_MINOR)
 list(GET VERSION_LIST 2 PROJECT_VERSION_PATCH)
 
-set(PROJECT_DEP_VERSION "6.3.4")
+set(PROJECT_DEP_VERSION "6.3.5")
 set(QT_MIN_VERSION "6.7.0")
 set(KF6_MIN_VERSION "6.10.0")
 option(PLASMA_X11_DEFAULT_SESSION "Use X11 session by default for Plasma" OFF)
diff -Nru plasma-workspace-6.3.4/components/calendar/qml/DayDelegate.qml plasma-workspace-6.3.5/components/calendar/qml/DayDelegate.qml
--- plasma-workspace-6.3.4/components/calendar/qml/DayDelegate.qml	2025-04-02 05:38:23.000000000 +0200
+++ plasma-workspace-6.3.5/components/calendar/qml/DayDelegate.qml	2025-05-06 19:59:32.000000000 +0200
@@ -45,10 +45,11 @@
     required property int yearNumber
 
     required property /*PlasmaCalendar.Calendar.DateMatchingPrecision*/int dateMatchingPrecision
+
     /*
      * The layout of this button is
-     * [label]
      * [eventIndicatorsRow]
+     * [label]
      * [subDayLabel]
      */
     property double mainLabelFontPixelSize: Math.max(
@@ -173,8 +174,8 @@
         // Basically, only active when dayStyle.dayModel is PlasmaCalendar.DaysModel
         // and thus dateMatchingPrecision is PlasmaCalendar.Calendar.MatchYearMonthAndDay
         active: dayStyle.model.eventCount !== undefined && dayStyle.model.eventCount > 0
-        anchors.bottom: parent.bottom
-        anchors.bottomMargin: subDayLabel.item?.implicitHeight ?? Kirigami.Units.smallSpacing
+        anchors.top: parent.top
+        anchors.topMargin: Kirigami.Units.largeSpacing
         anchors.horizontalCenter: parent.horizontalCenter
         sourceComponent: Row {
             id: eventIndicatorsRow
diff -Nru plasma-workspace-6.3.4/debian/changelog plasma-workspace-6.3.5/debian/changelog
--- plasma-workspace-6.3.4/debian/changelog	2025-04-03 01:02:59.000000000 +0200
+++ plasma-workspace-6.3.5/debian/changelog	2025-05-20 08:31:26.000000000 +0200
@@ -1,3 +1,58 @@
+plasma-workspace (4:6.3.5-1) unstable; urgency=medium
+
+  [ Aurélien COUDERC ]
+  * New upstream release (6.3.5).
+    - Notification: Escape lonely < and > symbols. (kde#502106)
+    - Calendar: Move event indicator above main label.
+    - Appelts/notifications: Fix Notifications positions. (kde#500192,
+    kde#498599, kde#491217, kde#502160)
+    - Applets/notifications: improve paddings again.
+    - Multiscreen: fix an incorrect assert in screenInvariants. (kde#494616)
+  * Relax inter-plasma versioned dependency constraint so we can upload
+    only 6.3.5 packages that have actual code changes.
+  * Drop backported patch now part of the upstream release.
+  * Backport upstream commits scheduled for 6.3.6:
+    - Fix entirely wrong colours when enabling "Tint all colours with accent
+    colour". (kde#503394)
+    - Remove pointless "mount" action for audio CDs and blank optical media.
+    (kde#503999)
+    - libnotificationmanager: fix critical notifications not showing when Do
+    not disturb is active.
+    - components/sessionprivate: fix a potential crash in SessionsModel.
+    - Fix deleting downloaded files from the notifications. (kde#504385)
+    - Fix cell height calculation during vertical resizing.
+    - klipper: make "Add Actions" dialog only window-modal to avoid blocking
+    plasmashell completely. (kde#501938)
+  * Backport other upstream commits:
+    - Fix lockscreen showing a placeholder instead of the real multimedia
+    player name in some multi-player setups.
+    - Fix Scroll Wheel issue in the All Applications section of the launcher.
+    (kde#486481)
+    - Fix implementation of the StatusNotifierItem spec to support context
+    menu on left click in the system tray.
+    - Never use scientific notation even for big numbers in notifications.
+    (kde#422166)
+    - Fix global menu sometimes showing menu items from non-active app.
+    (kde#473714)
+    - Fix issue in sorting users list to put the logged in user first.
+    - Prevent trying to delete the logged in user and failing. (kde#495494)
+    - Make selecting the C locale in regional options actually work.
+    (kde#500432)
+    - Fix duplicate optical devices in disks and devices applet. (kde#495140)
+    - Disable pointless and surprising horizontal scrolling of notifications
+    contents.
+    - Warn users about full storage not just on / and /home.
+    - Fix incorrect wallpaper preview when using screens with widely different
+    aspect ratios. (kde#483097)
+    - Fix OSD not properly displaying RTL languages. (kde#503255)
+    - Fix Notifications widget added to the desktop not showing new
+    notifications. (kde#503815)
+    - Fix “Process Table” visualization for blank System Monitor sensor
+    widgets to no longer incorrectly makes them think they’re in need of
+    configuration the next time you restart Plasma or the system. (kde#504335)
+
+ -- Aurélien COUDERC <coucouf@debian.org>  Tue, 20 May 2025 08:31:26 +0200
+
 plasma-workspace (4:6.3.4-1) unstable; urgency=medium
 
   [ Patrick Franz ]
diff -Nru plasma-workspace-6.3.4/debian/patches/improve_paddings.patch plasma-workspace-6.3.5/debian/patches/improve_paddings.patch
--- plasma-workspace-6.3.4/debian/patches/improve_paddings.patch	2025-04-03 00:26:59.000000000 +0200
+++ plasma-workspace-6.3.5/debian/patches/improve_paddings.patch	1970-01-01 01:00:00.000000000 +0100
@@ -1,41 +0,0 @@
-From 47d502353720004fa2d0e7b0065994b75b3e0ded Mon Sep 17 00:00:00 2001
-From: Nate Graham <nate@kde.org>
-Date: Wed, 2 Apr 2025 20:57:09 +0000
-Subject: [PATCH] applets/notifications: improve paddings again
-
-Zero top padding is fine when there's only a summary label, but looks
-bad when there's body text, an icon, or both. Correct that.
-
-
-(cherry picked from commit 53b6289f84094d91745b79c3bc902e7f80f235ef)
-
-Co-authored-by: Nate Graham <nate@kde.org>
----
- .../package/contents/ui/delegates/DelegatePopup.qml           | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/applets/notifications/package/contents/ui/delegates/DelegatePopup.qml b/applets/notifications/package/contents/ui/delegates/DelegatePopup.qml
-index 2038f49de5..e22a832219 100644
---- a/applets/notifications/package/contents/ui/delegates/DelegatePopup.qml
-+++ b/applets/notifications/package/contents/ui/delegates/DelegatePopup.qml
-@@ -93,6 +93,8 @@ BaseDelegate {
- 
-     Components.Summary {
-         id: summary
-+        // Base layout intentionally has no row spacing, so add top padding here when needed
-+        Layout.topMargin: delegateRoot.hasBodyText || icon.visible ? Kirigami.Units.smallSpacing : 0
-         Layout.fillWidth: true
-         Layout.row: 2
-         Layout.column: delegateRoot.__firstColumn
-@@ -108,7 +110,7 @@ BaseDelegate {
- 
-     Components.Icon {
-         id: icon
--        // We removed the row spacing from the base layout, so re-add it just here
-+        // Base layout intentionally has no row spacing, so add top padding here
-         Layout.topMargin: Kirigami.Units.smallSpacing
-         Layout.row: 2
-         Layout.column: delegateRoot.__firstColumn + 1
--- 
-GitLab
-
diff -Nru plasma-workspace-6.3.4/debian/patches/relax-interplasma-versioned-deps.patch plasma-workspace-6.3.5/debian/patches/relax-interplasma-versioned-deps.patch
--- plasma-workspace-6.3.4/debian/patches/relax-interplasma-versioned-deps.patch	1970-01-01 01:00:00.000000000 +0100
+++ plasma-workspace-6.3.5/debian/patches/relax-interplasma-versioned-deps.patch	2025-05-16 18:55:16.000000000 +0200
@@ -0,0 +1,11 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -7,7 +7,7 @@
+ list(GET VERSION_LIST 1 PROJECT_VERSION_MINOR)
+ list(GET VERSION_LIST 2 PROJECT_VERSION_PATCH)
+ 
+-set(PROJECT_DEP_VERSION "6.3.5")
++set(PROJECT_DEP_VERSION "6.3.4")
+ set(QT_MIN_VERSION "6.7.0")
+ set(KF6_MIN_VERSION "6.10.0")
+ option(PLASMA_X11_DEFAULT_SESSION "Use X11 session by default for Plasma" OFF)
diff -Nru plasma-workspace-6.3.4/debian/patches/series plasma-workspace-6.3.5/debian/patches/series
--- plasma-workspace-6.3.4/debian/patches/series	2025-04-03 00:27:51.000000000 +0200
+++ plasma-workspace-6.3.5/debian/patches/series	2025-05-20 08:31:26.000000000 +0200
@@ -1,2 +1,25 @@
-# fixed in 6.3.5
-improve_paddings.patch
+relax-interplasma-versioned-deps.patch
+upstream_e4e0dee5_libkmpris-allow-MultiplexerModel-to-show-actual-player-name.patch
+upstream_4f9b1a69_Fix-Scroll-Wheel-issue-in-AllApps-submenu-of-Application-Dashboard.patch
+upstream_f17c2546_applets-systemtray-Open-context-menu-on-click-when-ItemIsMenu.patch
+upstream_cf206f9d_applets-notifications-never-use-scientific-notation-for-large-numbers.patch
+upstream_73875471_applets-appmenu-Fix-displaying-menu-of-the-previous-active-window.patch
+upstream_5d008e00_applets-appmenu-Store-dbus-menu-importer-in-a-std-unique-ptr.patch
+upstream_fbb2e6d3_users-kcm-Fix-issue-in-sorting-user-list.patch
+upstream_9abfdd26_kcm-users-refine-deleting-logged-in-user-UX.patch
+upstream_c9ee2931_kcm-regionandlang-add-locale-C-to-mapping-and-always-set-LANG-and-LC-.patch
+upstream_a83c4e5f_applets-devicenotifier-check-if-device-has-been-added-before.patch
+upstream_2c27c9db_applets-notifications-don-t-allow-horizontal-scrolling.patch
+upstream_9e0939c1_Warn-user-about-full-storage-in-any-device-partition.patch
+upstream_6d12cde3_wallpapers-image-Fix-thumbnails-not-matching-output-size.patch
+upstream_8845c001_shell-Osd-Fix-missing-RTL.patch
+upstream_142caad0_applets-notification-fix-fullRepresentation-only-widgets.patch
+upstream_32a7cf2a_colorsapplicator-Don-t-allow-extended-RGB-from-OKLabToLinearSRGB.patch
+upstream_60859fa9_applets-devicenotifier-fix-pointless-mount-action.patch
+upstream_7635c551_libnotificationmanager-fix-critical-notifications-not-showing-when-Do-not-disturb-is-active.patch
+upstream_72719edd_components-sessionprivate-fix-a-potential-crash-in-SessionsModel.patch
+upstream_41a554e6_applets-notifications-Don-t-set-a-parent-for-WidgetsAskUserActionHandler.patch
+upstream_2c855c2f_Fix-cell-height-calc-in-resize-handle.patch
+upstream_bf67f256_klipper-make-Add-Actions-dialog-only-window-modal.patch
+upstream_d4df9b5f_applets-systemmonitor-handle-null-faceController.patch
+upstream_b9bc83c6_applets-systemmonitor-skip-configure-button-on-sensorless-faces.patch
diff -Nru plasma-workspace-6.3.4/debian/patches/upstream_142caad0_applets-notification-fix-fullRepresentation-only-widgets.patch plasma-workspace-6.3.5/debian/patches/upstream_142caad0_applets-notification-fix-fullRepresentation-only-widgets.patch
--- plasma-workspace-6.3.4/debian/patches/upstream_142caad0_applets-notification-fix-fullRepresentation-only-widgets.patch	1970-01-01 01:00:00.000000000 +0100
+++ plasma-workspace-6.3.5/debian/patches/upstream_142caad0_applets-notification-fix-fullRepresentation-only-widgets.patch	2025-05-20 08:31:26.000000000 +0200
@@ -0,0 +1,43 @@
+From 142caad00345dd4d6493a328a0d25fb2fb8e264a Mon Sep 17 00:00:00 2001
+From: Christoph Wolk <cwo.kde@posteo.net>
+Date: Sat, 10 May 2025 19:10:30 +0200
+Subject: [PATCH] applets/notification: fix fullRepresentation-only widgets
+
+The fullRepresentation has a little efficiency trick: it unloads the
+model while it is not expanded, so the ListView does not need to be
+updated while it is not visible. In general this is fine, but it
+interacts very badly with attempts to put the fullRepresentation
+directly on the desktop (or in a very large panel) and the auto-closing
+functionality of the notification applet. When the notification history
+ever becomes empty, it tries to close the fullRepresentation by setting
+expanded to false, which by itself does not do any harm either (the
+fullRepresentation stays a fullRepresentation), but it does unload the
+model, so the history never updates again (unless the user manually
+resizes it to become too small for the fullRepresentation then back
+again, which resets it to its proper expanded state).
+
+Instead, we modify closePlasmoid() to only set expanded to false if the
+widget is below either switchWidth or switchHeight.
+
+BUG: 503815
+FIXED-IN: 6.4.0
+---
+ applets/notifications/package/contents/ui/main.qml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/applets/notifications/package/contents/ui/main.qml b/applets/notifications/package/contents/ui/main.qml
+index 3ed3cfa6f22..c96afa0558d 100644
+--- a/applets/notifications/package/contents/ui/main.qml
++++ b/applets/notifications/package/contents/ui/main.qml
+@@ -211,7 +211,7 @@ PlasmoidItem {
+     }
+ 
+     function closePlasmoid() {
+-        if (root.hideOnWindowDeactivate) {
++        if (root.hideOnWindowDeactivate && !(root.width > root.switchWidth && root.height > root.switchHeight)) {
+             root.expanded = false;
+         }
+     }
+-- 
+GitLab
+
diff -Nru plasma-workspace-6.3.4/debian/patches/upstream_2c27c9db_applets-notifications-don-t-allow-horizontal-scrolling.patch plasma-workspace-6.3.5/debian/patches/upstream_2c27c9db_applets-notifications-don-t-allow-horizontal-scrolling.patch
--- plasma-workspace-6.3.4/debian/patches/upstream_2c27c9db_applets-notifications-don-t-allow-horizontal-scrolling.patch	1970-01-01 01:00:00.000000000 +0100
+++ plasma-workspace-6.3.5/debian/patches/upstream_2c27c9db_applets-notifications-don-t-allow-horizontal-scrolling.patch	2025-05-20 08:31:26.000000000 +0200
@@ -0,0 +1,32 @@
+From 2c27c9dbd793ec0eaf5588fdc9205fa408ecc1fb Mon Sep 17 00:00:00 2001
+From: Christoph Wolk <cwo.kde@posteo.net>
+Date: Thu, 8 May 2025 15:27:47 +0200
+Subject: [PATCH] applets/notifications: don't allow horizontal scrolling
+
+Notification bodies have their width constrained by the notification and
+the horizontal scrollbar forced off, but they can still be scrolled with
+a horizontal wheel, touchpad, or similiar. This is surprising and
+pointless.
+
+Instead explicitly set the contentWidth, which is otherwise ultimately
+based on the underlying TextEdit (and that's the width it would have on
+a single line without wrapping).
+---
+ .../package/contents/ui/delegates/DelegatePopup.qml              | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/applets/notifications/package/contents/ui/delegates/DelegatePopup.qml b/applets/notifications/package/contents/ui/delegates/DelegatePopup.qml
+index 21f2ef2e40..f19f21a415 100644
+--- a/applets/notifications/package/contents/ui/delegates/DelegatePopup.qml
++++ b/applets/notifications/package/contents/ui/delegates/DelegatePopup.qml
+@@ -137,6 +137,7 @@ BaseDelegate {
+         PlasmaComponents3.ScrollView {
+             id: scroll
+             anchors.fill: parent
++            contentWidth: bodyLabel.width
+ 
+             // This avoids a binding loop
+             PlasmaComponents3.ScrollBar.vertical.visible: modelInterface.maximumLineCount > 0 && bodyLabel.implicitHeight > parent.Layout.maximumHeight
+-- 
+GitLab
+
diff -Nru plasma-workspace-6.3.4/debian/patches/upstream_2c855c2f_Fix-cell-height-calc-in-resize-handle.patch plasma-workspace-6.3.5/debian/patches/upstream_2c855c2f_Fix-cell-height-calc-in-resize-handle.patch
--- plasma-workspace-6.3.4/debian/patches/upstream_2c855c2f_Fix-cell-height-calc-in-resize-handle.patch	1970-01-01 01:00:00.000000000 +0100
+++ plasma-workspace-6.3.5/debian/patches/upstream_2c855c2f_Fix-cell-height-calc-in-resize-handle.patch	2025-05-20 08:31:26.000000000 +0200
@@ -0,0 +1,33 @@
+From 2c855c2fe47ce4ea8ba4fd0edb840f21bb7a9937 Mon Sep 17 00:00:00 2001
+From: Nate Graham <nate@kde.org>
+Date: Thu, 22 May 2025 08:25:05 -0600
+Subject: [PATCH] Fix cell height calc in resize handle
+
+Correct typo using cellWidth() instead of cellHeight() for
+minimum height calculation during vertical resizing. Ensures
+proper cell-aligned sizing behavior.
+
+
+(cherry picked from commit 4b1dfd560433ef89f80b5916d2ac15739c5f91fb)
+
+Co-authored-by: Wang Yu <wangyu@uniontech.com>
+---
+ components/containmentlayoutmanager/resizehandle.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/components/containmentlayoutmanager/resizehandle.cpp b/components/containmentlayoutmanager/resizehandle.cpp
+index b3b1f673ef0..f840717ecf6 100644
+--- a/components/containmentlayoutmanager/resizehandle.cpp
++++ b/components/containmentlayoutmanager/resizehandle.cpp
+@@ -156,7 +156,7 @@ void ResizeHandle::mouseMoveEvent(QMouseEvent *event)
+ 
+     // Now make minimumSize an integer number of cells
+     minimumSize.setWidth(ceil(minimumSize.width() / layout->cellWidth()) * layout->cellWidth());
+-    minimumSize.setHeight(ceil(minimumSize.height() / layout->cellWidth()) * layout->cellHeight());
++    minimumSize.setHeight(ceil(minimumSize.height() / layout->cellHeight()) * layout->cellHeight());
+ 
+     // Horizontal resize
+     if (resizeLeft()) {
+-- 
+GitLab
+
diff -Nru plasma-workspace-6.3.4/debian/patches/upstream_32a7cf2a_colorsapplicator-Don-t-allow-extended-RGB-from-OKLabToLinearSRGB.patch plasma-workspace-6.3.5/debian/patches/upstream_32a7cf2a_colorsapplicator-Don-t-allow-extended-RGB-from-OKLabToLinearSRGB.patch
--- plasma-workspace-6.3.4/debian/patches/upstream_32a7cf2a_colorsapplicator-Don-t-allow-extended-RGB-from-OKLabToLinearSRGB.patch	1970-01-01 01:00:00.000000000 +0100
+++ plasma-workspace-6.3.5/debian/patches/upstream_32a7cf2a_colorsapplicator-Don-t-allow-extended-RGB-from-OKLabToLinearSRGB.patch	2025-05-20 08:31:26.000000000 +0200
@@ -0,0 +1,41 @@
+From 32a7cf2a06e16d58cbb8c4a0ab08a0832fa377d4 Mon Sep 17 00:00:00 2001
+From: Akseli Lahtinen <akselmo@akselmo.dev>
+Date: Mon, 5 May 2025 21:14:08 +0300
+Subject: [PATCH] colorsapplicator: Don't allow extended RGB from
+ OKLabToLinearSRGB
+
+When reading the rgb values in OKLabToLinearSRGB, there is a chance,
+when colors are tinted, for QColor::fromRgbF to return Extended RGB
+colors, which can invert.
+Read more at
+https://doc.qt.io/qt-6/qcolor.html#the-extended-rgb-color-model
+
+Instead, just make sure we always return regular RGB values.
+
+BUG: 503394
+FIXED-IN: 6.3
+
+
+(cherry picked from commit 4329b16a96a47c310e2d2a5da6f7543f94b6d3ec)
+
+Co-authored-by: Akseli Lahtinen <akselmo@akselmo.dev>
+---
+ kcms/colors/colorsapplicator.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/kcms/colors/colorsapplicator.cpp b/kcms/colors/colorsapplicator.cpp
+index 6f0eeffe666..7d28889de6f 100644
+--- a/kcms/colors/colorsapplicator.cpp
++++ b/kcms/colors/colorsapplicator.cpp
+@@ -100,7 +100,7 @@ QColor OKLabToLinearSRGB(LAB lab)
+     const auto g = -1.2684380046 * l + 2.6097574011 * m - 0.3413193965 * s;
+     const auto b = -0.0041960863 * l - 0.7034186147 * m + 1.7076147010 * s;
+ 
+-    return QColor::fromRgbF(r, g, b);
++    return QColor::fromRgbF(r, g, b).toRgb();
+ }
+ 
+ auto toLinearSRGB = QColorSpace(QColorSpace::SRgb).transformationToColorSpace(QColorSpace::SRgbLinear);
+-- 
+GitLab
+
diff -Nru plasma-workspace-6.3.4/debian/patches/upstream_41a554e6_applets-notifications-Don-t-set-a-parent-for-WidgetsAskUserActionHandler.patch plasma-workspace-6.3.5/debian/patches/upstream_41a554e6_applets-notifications-Don-t-set-a-parent-for-WidgetsAskUserActionHandler.patch
--- plasma-workspace-6.3.4/debian/patches/upstream_41a554e6_applets-notifications-Don-t-set-a-parent-for-WidgetsAskUserActionHandler.patch	1970-01-01 01:00:00.000000000 +0100
+++ plasma-workspace-6.3.5/debian/patches/upstream_41a554e6_applets-notifications-Don-t-set-a-parent-for-WidgetsAskUserActionHandler.patch	2025-05-20 08:31:26.000000000 +0200
@@ -0,0 +1,51 @@
+From 41a554e6d9b3e58ac3d7375eb4fbd22acca3a5af Mon Sep 17 00:00:00 2001
+From: Kai Uwe Broulik <kde@privat.broulik.de>
+Date: Tue, 20 May 2025 16:00:15 +0000
+Subject: [PATCH] applets/notifications: Don't set a parent for
+ WidgetsAskUserActionHandler
+
+The notification popup gets destroyed as soon as the user clicked the menu item,
+so the handler is destroyed (curiously still leaving the KMessageDialog up) and
+askUserDeleteResult is never emitted.
+
+BUG: 504385
+
+
+(cherry picked from commit f81dd70a3501f1011d73128277c4aba87014c481)
+
+Co-authored-by: Kai Uwe Broulik <kde@privat.broulik.de>
+
+(cherry picked from commit 7dff2f025da66873911eb1a66fbdded080c7b473)
+
+Co-authored-by: Kai Uwe Broulik <kde@privat.broulik.de>
+---
+ applets/notifications/filemenu.cpp | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/applets/notifications/filemenu.cpp b/applets/notifications/filemenu.cpp
+index 4bc06cb4c02..26b9c670d55 100644
+--- a/applets/notifications/filemenu.cpp
++++ b/applets/notifications/filemenu.cpp
+@@ -151,7 +151,8 @@ void FileMenu::open(int x, int y)
+     const bool canTrash = itemProperties.isLocal() && itemProperties.supportsMoving();
+     if (canTrash) {
+         auto moveToTrashLambda = [this] {
+-            auto handler = new KIO::WidgetsAskUserActionHandler(this);
++            // No parent since the FileMenu will be destroyed as soon as the user clicked the menu item.
++            auto handler = new KIO::WidgetsAskUserActionHandler();
+             connect(handler, &KIO::WidgetsAskUserActionHandler::askUserDeleteResult, [handler](bool allow, const QList<QUrl> &urls) {
+                 if (allow) {
+                     auto job = KIO::trash(urls);
+@@ -172,7 +173,8 @@ void FileMenu::open(int x, int y)
+ 
+     if (itemProperties.supportsDeleting() && (!canTrash || showDeleteCommand)) {
+         auto deleteLambda = [this] {
+-            auto handler = new KIO::WidgetsAskUserActionHandler(this);
++            // No parent since the FileMenu will be destroyed as soon as the user clicked the menu item.
++            auto handler = new KIO::WidgetsAskUserActionHandler();
+             connect(handler, &KIO::WidgetsAskUserActionHandler::askUserDeleteResult, [handler](bool allow, const QList<QUrl> &urls) {
+                 if (allow) {
+                     auto job = KIO::del(urls);
+-- 
+GitLab
+
diff -Nru plasma-workspace-6.3.4/debian/patches/upstream_4f9b1a69_Fix-Scroll-Wheel-issue-in-AllApps-submenu-of-Application-Dashboard.patch plasma-workspace-6.3.5/debian/patches/upstream_4f9b1a69_Fix-Scroll-Wheel-issue-in-AllApps-submenu-of-Application-Dashboard.patch
--- plasma-workspace-6.3.4/debian/patches/upstream_4f9b1a69_Fix-Scroll-Wheel-issue-in-AllApps-submenu-of-Application-Dashboard.patch	1970-01-01 01:00:00.000000000 +0100
+++ plasma-workspace-6.3.5/debian/patches/upstream_4f9b1a69_Fix-Scroll-Wheel-issue-in-AllApps-submenu-of-Application-Dashboard.patch	2025-05-20 08:31:26.000000000 +0200
@@ -0,0 +1,36 @@
+From 4f9b1a69c8105b0c59e667e6a242f821b51208b4 Mon Sep 17 00:00:00 2001
+From: Tomislav Pap <bad63r@gmail.com>
+Date: Mon, 24 Mar 2025 23:23:07 +0000
+Subject: [PATCH] Fix Scroll Wheel issue in AllApps submenu of Application
+ Dashboard
+
+Scroll with mouse wheel was problematic in AllApps subsection. It worked
+partially, abruptly stopping when hovering over app icons, or just
+during mouse wheel scrolling.
+
+The problem is that QQuick WheelInterceptor::findwheelArea() never entered
+into its if statement because there are 3 children elements of QML parent,
+and their z axis values are 1, 0, 0 respectfully.
+
+BUG: 486481
+FIXED-IN: 6.4.0
+---
+ applets/kicker/plugin/wheelinterceptor.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/applets/kicker/plugin/wheelinterceptor.cpp b/applets/kicker/plugin/wheelinterceptor.cpp
+index a79130bcc18..1e797857183 100644
+--- a/applets/kicker/plugin/wheelinterceptor.cpp
++++ b/applets/kicker/plugin/wheelinterceptor.cpp
+@@ -51,7 +51,7 @@ QQuickItem *WheelInterceptor::findWheelArea(QQuickItem *parent) const
+         // HACK: ScrollView adds the WheelArea below its flickableItem with
+         // z==-1. This is reasonable non-risky considering we know about
+         // everything else in there, and worst case we break the mouse wheel.
+-        if (child->z() == -1) {
++        if (child->z() >= -1) {
+             return child;
+         }
+     }
+-- 
+GitLab
+
diff -Nru plasma-workspace-6.3.4/debian/patches/upstream_5d008e00_applets-appmenu-Store-dbus-menu-importer-in-a-std-unique-ptr.patch plasma-workspace-6.3.5/debian/patches/upstream_5d008e00_applets-appmenu-Store-dbus-menu-importer-in-a-std-unique-ptr.patch
--- plasma-workspace-6.3.4/debian/patches/upstream_5d008e00_applets-appmenu-Store-dbus-menu-importer-in-a-std-unique-ptr.patch	1970-01-01 01:00:00.000000000 +0100
+++ plasma-workspace-6.3.5/debian/patches/upstream_5d008e00_applets-appmenu-Store-dbus-menu-importer-in-a-std-unique-ptr.patch	2025-05-20 08:31:26.000000000 +0200
@@ -0,0 +1,90 @@
+From 5d008e00c295a3a036220dbeb3bd3e1582d005da Mon Sep 17 00:00:00 2001
+From: Vlad Zahorodnii <vlad.zahorodnii@kde.org>
+Date: Wed, 23 Apr 2025 14:34:28 +0300
+Subject: [PATCH] applets/appmenu: Store dbus menu importer in a
+ std::unique_ptr
+
+The code is simpler this way.
+---
+ applets/appmenu/plugin/appmenumodel.cpp | 26 ++++++++-----------------
+ applets/appmenu/plugin/appmenumodel.h   |  2 +-
+ 2 files changed, 9 insertions(+), 19 deletions(-)
+
+diff --git a/applets/appmenu/plugin/appmenumodel.cpp b/applets/appmenu/plugin/appmenumodel.cpp
+index db3b351405..99263b3ad4 100644
+--- a/applets/appmenu/plugin/appmenumodel.cpp
++++ b/applets/appmenu/plugin/appmenumodel.cpp
+@@ -25,8 +25,8 @@
+ class KDBusMenuImporter : public DBusMenuImporter
+ {
+ public:
+-    KDBusMenuImporter(const QString &service, const QString &path, QObject *parent)
+-        : DBusMenuImporter(service, path, parent)
++    KDBusMenuImporter(const QString &service, const QString &path)
++        : DBusMenuImporter(service, path)
+     {
+     }
+ 
+@@ -268,7 +268,7 @@ void AppMenuModel::updateApplicationMenu(const QString &serviceName, const QStri
+ {
+     if (m_serviceName == serviceName && m_menuObjectPath == menuObjectPath) {
+         if (m_importer) {
+-            QMetaObject::invokeMethod(m_importer, "updateMenu", Qt::QueuedConnection);
++            QMetaObject::invokeMethod(m_importer.get(), "updateMenu", Qt::QueuedConnection);
+         }
+         return;
+     }
+@@ -280,26 +280,16 @@ void AppMenuModel::updateApplicationMenu(const QString &serviceName, const QStri
+         m_serviceName = QString();
+         m_menuObjectPath = QString();
+         m_serviceWatcher->setWatchedServices({});
+-
+-        if (m_importer) {
+-            m_importer->disconnect(this);
+-            m_importer->deleteLater();
+-            m_importer = nullptr;
+-        }
++        m_importer.reset();
+     } else {
+         m_serviceName = serviceName;
+         m_menuObjectPath = menuObjectPath;
+         m_serviceWatcher->setWatchedServices(QStringList({m_serviceName}));
+ 
+-        if (m_importer) {
+-            m_importer->disconnect(this);
+-            m_importer->deleteLater();
+-        }
+-
+-        m_importer = new KDBusMenuImporter(serviceName, menuObjectPath, this);
+-        QMetaObject::invokeMethod(m_importer, "updateMenu", Qt::QueuedConnection);
++        m_importer = std::make_unique<KDBusMenuImporter>(serviceName, menuObjectPath);
++        QMetaObject::invokeMethod(m_importer.get(), "updateMenu", Qt::QueuedConnection);
+ 
+-        connect(m_importer.data(), &DBusMenuImporter::menuUpdated, this, [=, this](QMenu *menu) {
++        connect(m_importer.get(), &DBusMenuImporter::menuUpdated, this, [=, this](QMenu *menu) {
+             m_menu = m_importer->menu();
+             if (m_menu.isNull() || menu != m_menu) {
+                 return;
+@@ -330,7 +320,7 @@ void AppMenuModel::updateApplicationMenu(const QString &serviceName, const QStri
+             Q_EMIT modelNeedsUpdate();
+         });
+ 
+-        connect(m_importer.data(), &DBusMenuImporter::actionActivationRequested, this, [this](QAction *action) {
++        connect(m_importer.get(), &DBusMenuImporter::actionActivationRequested, this, [this](QAction *action) {
+             // TODO submenus
+             if (!m_menuAvailable || !m_menu) {
+                 return;
+diff --git a/applets/appmenu/plugin/appmenumodel.h b/applets/appmenu/plugin/appmenumodel.h
+index 2d283dc351..5d3f2f6415 100644
+--- a/applets/appmenu/plugin/appmenumodel.h
++++ b/applets/appmenu/plugin/appmenumodel.h
+@@ -93,5 +93,5 @@ private:
+     QString m_serviceName;
+     QString m_menuObjectPath;
+ 
+-    QPointer<KDBusMenuImporter> m_importer;
++    std::unique_ptr<KDBusMenuImporter> m_importer;
+ };
+-- 
+GitLab
+
diff -Nru plasma-workspace-6.3.4/debian/patches/upstream_60859fa9_applets-devicenotifier-fix-pointless-mount-action.patch plasma-workspace-6.3.5/debian/patches/upstream_60859fa9_applets-devicenotifier-fix-pointless-mount-action.patch
--- plasma-workspace-6.3.4/debian/patches/upstream_60859fa9_applets-devicenotifier-fix-pointless-mount-action.patch	1970-01-01 01:00:00.000000000 +0100
+++ plasma-workspace-6.3.5/debian/patches/upstream_60859fa9_applets-devicenotifier-fix-pointless-mount-action.patch	2025-05-20 08:31:26.000000000 +0200
@@ -0,0 +1,72 @@
+From 60859fa99ad81e2aff7ceb35d4ae79a304374f37 Mon Sep 17 00:00:00 2001
+From: Nate Graham <nate@kde.org>
+Date: Thu, 15 May 2025 15:30:30 -0600
+Subject: [PATCH] applets/devicenotifier: fix pointless mount action
+
+BUG: 503999
+
+Audio CD and blank CD/DVD/BD does not have storage access.
+So check this before add mount action for them.
+
+
+(cherry picked from commit 683b8c3d71781c4e821cd2f9ac93eb4f157bb6ea)
+
+Co-authored-by: Bohdan Onofriichuk <bogdan.onofriuchuk@gmail.com>
+---
+ .../devicenotifier/plugin/actions/mountaction.cpp   | 13 ++++++++++++-
+ applets/devicenotifier/plugin/actions/mountaction.h |  1 +
+ 2 files changed, 13 insertions(+), 1 deletion(-)
+
+diff --git a/applets/devicenotifier/plugin/actions/mountaction.cpp b/applets/devicenotifier/plugin/actions/mountaction.cpp
+index 4df5c982042..88d3d898191 100644
+--- a/applets/devicenotifier/plugin/actions/mountaction.cpp
++++ b/applets/devicenotifier/plugin/actions/mountaction.cpp
+@@ -18,6 +18,8 @@
+ MountAction::MountAction(const QString &udi, QObject *parent)
+     : ActionInterface(udi, parent)
+     , m_stateMonitor(DevicesStateMonitor::instance())
++    , m_supportsMTP(false)
++    , m_hasStorageAccess(false)
+ {
+     Solid::Device device(udi);
+ 
+@@ -39,6 +41,15 @@ MountAction::MountAction(const QString &udi, QObject *parent)
+ 
+     m_supportsMTP = supportedProtocols.contains(QLatin1String("mtp"));
+ 
++    // It's possible for there to be no StorageAccess (e.g. MTP devices don't have one)
++    if (device.is<Solid::StorageAccess>()) {
++        Solid::StorageAccess *access = device.as<Solid::StorageAccess>();
++        if (access) {
++            qCDebug(APPLETS::DEVICENOTIFIER) << "Mount action: have storage access";
++            m_hasStorageAccess = true;
++        }
++    }
++
+     connect(m_stateMonitor.get(), &DevicesStateMonitor::stateChanged, this, &MountAction::updateIsValid);
+ }
+ 
+@@ -67,7 +78,7 @@ void MountAction::triggered()
+ 
+ bool MountAction::isValid() const
+ {
+-    return m_stateMonitor->isRemovable(m_udi) && !m_stateMonitor->isMounted(m_udi) && !m_supportsMTP;
++    return m_hasStorageAccess && m_stateMonitor->isRemovable(m_udi) && !m_stateMonitor->isMounted(m_udi) && !m_supportsMTP;
+ }
+ 
+ void MountAction::updateIsValid(const QString &udi)
+diff --git a/applets/devicenotifier/plugin/actions/mountaction.h b/applets/devicenotifier/plugin/actions/mountaction.h
+index c7f744f1839..a76ee2f5b04 100644
+--- a/applets/devicenotifier/plugin/actions/mountaction.h
++++ b/applets/devicenotifier/plugin/actions/mountaction.h
+@@ -33,6 +33,7 @@ private Q_SLOTS:
+ 
+ private:
+     bool m_supportsMTP;
++    bool m_hasStorageAccess;
+ 
+     std::shared_ptr<DevicesStateMonitor> m_stateMonitor;
+ };
+-- 
+GitLab
+
diff -Nru plasma-workspace-6.3.4/debian/patches/upstream_6d12cde3_wallpapers-image-Fix-thumbnails-not-matching-output-size.patch plasma-workspace-6.3.5/debian/patches/upstream_6d12cde3_wallpapers-image-Fix-thumbnails-not-matching-output-size.patch
--- plasma-workspace-6.3.4/debian/patches/upstream_6d12cde3_wallpapers-image-Fix-thumbnails-not-matching-output-size.patch	1970-01-01 01:00:00.000000000 +0100
+++ plasma-workspace-6.3.5/debian/patches/upstream_6d12cde3_wallpapers-image-Fix-thumbnails-not-matching-output-size.patch	2025-05-20 08:31:26.000000000 +0200
@@ -0,0 +1,59 @@
+From 6d12cde35dda92904536ee3045d5f9ed9e83248d Mon Sep 17 00:00:00 2001
+From: Vlad Zahorodnii <vlad.zahorodnii@kde.org>
+Date: Fri, 16 May 2025 15:19:32 +0000
+Subject: [PATCH] wallpapers/image: Fix thumbnails not matching output size
+
+The `Screen` is an attached property and it never changes, we need to
+monitor screen size changes instead.
+
+BUG: 483097
+
+
+(cherry picked from commit d6436e077c05abd100d905aaa73222a48ca1695f)
+
+7678dfa9 wallpapers/image: Fix thumbnails not matching output size
+5f4d8bc8 Apply 1 suggestion(s) to 1 file(s)
+
+Co-authored-by: Vlad Zahorodnii <vlad.zahorodnii@kde.org>
+---
+ wallpapers/image/imagepackage/contents/ui/config.qml | 9 ++++-----
+ 1 file changed, 4 insertions(+), 5 deletions(-)
+
+diff --git a/wallpapers/image/imagepackage/contents/ui/config.qml b/wallpapers/image/imagepackage/contents/ui/config.qml
+index 7b3120bacb..d818ad98ec 100644
+--- a/wallpapers/image/imagepackage/contents/ui/config.qml
++++ b/wallpapers/image/imagepackage/contents/ui/config.qml
+@@ -25,8 +25,7 @@ ColumnLayout {
+     property var configDialog
+     property var wallpaperConfiguration: wallpaper.configuration
+     property var parentLayout
+-    property var screen : Screen
+-    property var screenSize: !!screen.geometry ? Qt.size(screen.geometry.width, screen.geometry.height):  Qt.size(screen.width, screen.height)
++    property var screenSize: Qt.size(Screen.width, Screen.height)
+     
+     property alias cfg_Color: colorButton.color
+     property color cfg_ColorDefault
+@@ -53,9 +52,9 @@ ColumnLayout {
+      */
+     signal wallpaperBrowseCompleted();
+     
+-    onScreenChanged: function() {
++    onScreenSizeChanged: function() {
+         if (thumbnailsLoader.item) {
+-            thumbnailsLoader.item.screenSize = !!root.screen.geometry ? Qt.size(root.screen.geometry.width, root.screen.geometry.height):  Qt.size(root.screen.width, root.screen.height);
++            thumbnailsLoader.item.screenSize = root.screenSize;
+         }
+     }
+     
+@@ -77,7 +76,7 @@ ColumnLayout {
+         renderingMode: (configDialog.currentWallpaper === "org.kde.image") ? PlasmaWallpaper.ImageBackend.SingleImage : PlasmaWallpaper.ImageBackend.SlideShow
+         targetSize: {
+             // Lock screen configuration case
+-            return Qt.size(root.screenSize.width * root.screen.devicePixelRatio, root.screenSize.height * root.screen.devicePixelRatio)
++            return Qt.size(root.screenSize.width * Screen.devicePixelRatio, root.screenSize.height * Screen.devicePixelRatio)
+         }
+         onSlidePathsChanged: cfg_SlidePaths = slidePaths
+         onUncheckedSlidesChanged: cfg_UncheckedSlides = uncheckedSlides
+-- 
+GitLab
+
diff -Nru plasma-workspace-6.3.4/debian/patches/upstream_72719edd_components-sessionprivate-fix-a-potential-crash-in-SessionsModel.patch plasma-workspace-6.3.5/debian/patches/upstream_72719edd_components-sessionprivate-fix-a-potential-crash-in-SessionsModel.patch
--- plasma-workspace-6.3.4/debian/patches/upstream_72719edd_components-sessionprivate-fix-a-potential-crash-in-SessionsModel.patch	1970-01-01 01:00:00.000000000 +0100
+++ plasma-workspace-6.3.5/debian/patches/upstream_72719edd_components-sessionprivate-fix-a-potential-crash-in-SessionsModel.patch	2025-05-20 08:31:26.000000000 +0200
@@ -0,0 +1,56 @@
+From 72719edd270f935f9054e286e257cd8e7ed2698c Mon Sep 17 00:00:00 2001
+From: Fushan Wen <qydwhotmail@gmail.com>
+Date: Mon, 19 May 2025 19:56:15 +0800
+Subject: [PATCH] components/sessionprivate: fix a potential crash in
+ SessionsModel
+
+The problem is that std::function is passed by reference instead of
+copy, which might become dangling in the finished slot.
+
+
+(cherry picked from commit 3ed6ee211bbad1f5d76afa1f30844bebad17bed4)
+
+Co-authored-by: Fushan Wen <qydwhotmail@gmail.com>
+
+(cherry picked from commit 995b597b24ca96aaea81f71781de8ddf60adf5e1)
+
+Co-authored-by: Fushan Wen <qydwhotmail@gmail.com>
+---
+ components/sessionsprivate/sessionsmodel.cpp | 4 ++--
+ components/sessionsprivate/sessionsmodel.h   | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/components/sessionsprivate/sessionsmodel.cpp b/components/sessionsprivate/sessionsmodel.cpp
+index b3f66f4d2c3..20bda2b6c12 100644
+--- a/components/sessionsprivate/sessionsmodel.cpp
++++ b/components/sessionsprivate/sessionsmodel.cpp
+@@ -187,11 +187,11 @@ void SessionsModel::reload()
+     }
+ }
+ 
+-void SessionsModel::checkScreenLocked(const std::function<void(bool)> &cb)
++void SessionsModel::checkScreenLocked(std::function<void(bool)> &&cb)
+ {
+     auto reply = m_screensaverInterface->GetActive();
+     QDBusPendingCallWatcher *watcher = new QDBusPendingCallWatcher(reply, this);
+-    QObject::connect(watcher, &QDBusPendingCallWatcher::finished, this, [cb](QDBusPendingCallWatcher *watcher) {
++    QObject::connect(watcher, &QDBusPendingCallWatcher::finished, this, [cb = std::move(cb)](QDBusPendingCallWatcher *watcher) {
+         QDBusPendingReply<bool> reply = *watcher;
+         if (!reply.isError()) {
+             cb(reply.value());
+diff --git a/components/sessionsprivate/sessionsmodel.h b/components/sessionsprivate/sessionsmodel.h
+index 81084748b16..bc580d7406d 100644
+--- a/components/sessionsprivate/sessionsmodel.h
++++ b/components/sessionsprivate/sessionsmodel.h
+@@ -91,7 +91,7 @@ Q_SIGNALS:
+     void aboutToLockScreen();
+ 
+ private:
+-    void checkScreenLocked(const std::function<void(bool)> &cb);
++    void checkScreenLocked(std::function<void(bool)> &&cb);
+ 
+     KDisplayManager m_displayManager;
+ 
+-- 
+GitLab
+
diff -Nru plasma-workspace-6.3.4/debian/patches/upstream_73875471_applets-appmenu-Fix-displaying-menu-of-the-previous-active-window.patch plasma-workspace-6.3.5/debian/patches/upstream_73875471_applets-appmenu-Fix-displaying-menu-of-the-previous-active-window.patch
--- plasma-workspace-6.3.4/debian/patches/upstream_73875471_applets-appmenu-Fix-displaying-menu-of-the-previous-active-window.patch	1970-01-01 01:00:00.000000000 +0100
+++ plasma-workspace-6.3.5/debian/patches/upstream_73875471_applets-appmenu-Fix-displaying-menu-of-the-previous-active-window.patch	2025-05-20 08:31:26.000000000 +0200
@@ -0,0 +1,165 @@
+From 7387547112e1a00aca294861abee666de3fbd68f Mon Sep 17 00:00:00 2001
+From: Vlad Zahorodnii <vlad.zahorodnii@kde.org>
+Date: Fri, 18 Apr 2025 22:39:46 +0300
+Subject: [PATCH] applets/appmenu: Fix displaying menu of the previous active
+ window
+
+We need to break the DBusMenuImporter::menuUpdated() signal connection
+when the active window changes. Otherwise, it's possible that the
+menuUpdated signal will be emitted and the menu will be marked as
+available.
+
+BUG: 473714
+---
+ applets/appmenu/plugin/appmenumodel.cpp | 115 +++++++++++++-----------
+ 1 file changed, 63 insertions(+), 52 deletions(-)
+
+diff --git a/applets/appmenu/plugin/appmenumodel.cpp b/applets/appmenu/plugin/appmenumodel.cpp
+index 04834b6fab6..db3b351405f 100644
+--- a/applets/appmenu/plugin/appmenumodel.cpp
++++ b/applets/appmenu/plugin/appmenumodel.cpp
+@@ -202,16 +202,7 @@ void AppMenuModel::onActiveWindowChanged()
+     const QModelIndex activeTaskIndex = m_tasksModel->activeTask();
+     const QString objectPath = m_tasksModel->data(activeTaskIndex, TaskManager::AbstractTasksModel::ApplicationMenuObjectPath).toString();
+     const QString serviceName = m_tasksModel->data(activeTaskIndex, TaskManager::AbstractTasksModel::ApplicationMenuServiceName).toString();
+-
+-    if (!objectPath.isEmpty() && !serviceName.isEmpty()) {
+-        setMenuAvailable(true);
+-        updateApplicationMenu(serviceName, objectPath);
+-        setVisible(true);
+-        Q_EMIT modelNeedsUpdate();
+-    } else {
+-        setMenuAvailable(false);
+-        setVisible(false);
+-    }
++    updateApplicationMenu(serviceName, objectPath);
+ }
+ 
+ QHash<int, QByteArray> AppMenuModel::roleNames() const
+@@ -282,61 +273,81 @@ void AppMenuModel::updateApplicationMenu(const QString &serviceName, const QStri
+         return;
+     }
+ 
+-    m_serviceName = serviceName;
+-    m_serviceWatcher->setWatchedServices(QStringList({m_serviceName}));
+-
+-    m_menuObjectPath = menuObjectPath;
++    if (serviceName.isEmpty() || menuObjectPath.isEmpty()) {
++        setMenuAvailable(false);
++        setVisible(false);
+ 
+-    if (m_importer) {
+-        m_importer->deleteLater();
+-    }
++        m_serviceName = QString();
++        m_menuObjectPath = QString();
++        m_serviceWatcher->setWatchedServices({});
+ 
+-    m_importer = new KDBusMenuImporter(serviceName, menuObjectPath, this);
+-    QMetaObject::invokeMethod(m_importer, "updateMenu", Qt::QueuedConnection);
++        if (m_importer) {
++            m_importer->disconnect(this);
++            m_importer->deleteLater();
++            m_importer = nullptr;
++        }
++    } else {
++        m_serviceName = serviceName;
++        m_menuObjectPath = menuObjectPath;
++        m_serviceWatcher->setWatchedServices(QStringList({m_serviceName}));
+ 
+-    connect(m_importer.data(), &DBusMenuImporter::menuUpdated, this, [=, this](QMenu *menu) {
+-        m_menu = m_importer->menu();
+-        if (m_menu.isNull() || menu != m_menu) {
+-            return;
++        if (m_importer) {
++            m_importer->disconnect(this);
++            m_importer->deleteLater();
+         }
+ 
+-        // cache first layer of sub menus, which we'll be popping up
+-        const auto actions = m_menu->actions();
+-        for (QAction *a : actions) {
+-            // signal dataChanged when the action changes
+-            connect(a, &QAction::changed, this, [this, a] {
+-                if (m_menuAvailable && m_menu) {
+-                    const int actionIdx = m_menu->actions().indexOf(a);
+-                    if (actionIdx > -1) {
+-                        const QModelIndex modelIdx = index(actionIdx, 0);
+-                        Q_EMIT dataChanged(modelIdx, modelIdx);
++        m_importer = new KDBusMenuImporter(serviceName, menuObjectPath, this);
++        QMetaObject::invokeMethod(m_importer, "updateMenu", Qt::QueuedConnection);
++
++        connect(m_importer.data(), &DBusMenuImporter::menuUpdated, this, [=, this](QMenu *menu) {
++            m_menu = m_importer->menu();
++            if (m_menu.isNull() || menu != m_menu) {
++                return;
++            }
++
++            // cache first layer of sub menus, which we'll be popping up
++            const auto actions = m_menu->actions();
++            for (QAction *a : actions) {
++                // signal dataChanged when the action changes
++                connect(a, &QAction::changed, this, [this, a] {
++                    if (m_menuAvailable && m_menu) {
++                        const int actionIdx = m_menu->actions().indexOf(a);
++                        if (actionIdx > -1) {
++                            const QModelIndex modelIdx = index(actionIdx, 0);
++                            Q_EMIT dataChanged(modelIdx, modelIdx);
++                        }
+                     }
++                });
++
++                connect(a, &QAction::destroyed, this, &AppMenuModel::modelNeedsUpdate);
++
++                if (a->menu()) {
++                    m_importer->updateMenu(a->menu());
+                 }
+-            });
++            }
+ 
+-            connect(a, &QAction::destroyed, this, &AppMenuModel::modelNeedsUpdate);
++            setMenuAvailable(true);
++            Q_EMIT modelNeedsUpdate();
++        });
+ 
+-            if (a->menu()) {
+-                m_importer->updateMenu(a->menu());
++        connect(m_importer.data(), &DBusMenuImporter::actionActivationRequested, this, [this](QAction *action) {
++            // TODO submenus
++            if (!m_menuAvailable || !m_menu) {
++                return;
+             }
+-        }
+ 
+-        setMenuAvailable(true);
+-        Q_EMIT modelNeedsUpdate();
+-    });
++            const auto actions = m_menu->actions();
++            auto it = std::find(actions.begin(), actions.end(), action);
++            if (it != actions.end()) {
++                Q_EMIT requestActivateIndex(it - actions.begin());
++            }
++        });
+ 
+-    connect(m_importer.data(), &DBusMenuImporter::actionActivationRequested, this, [this](QAction *action) {
+-        // TODO submenus
+-        if (!m_menuAvailable || !m_menu) {
+-            return;
+-        }
++        setMenuAvailable(true);
++        setVisible(true);
+ 
+-        const auto actions = m_menu->actions();
+-        auto it = std::find(actions.begin(), actions.end(), action);
+-        if (it != actions.end()) {
+-            Q_EMIT requestActivateIndex(it - actions.begin());
+-        }
+-    });
++        Q_EMIT modelNeedsUpdate();
++    }
+ }
+ 
+ #include "moc_appmenumodel.cpp"
+-- 
+GitLab
+
diff -Nru plasma-workspace-6.3.4/debian/patches/upstream_7635c551_libnotificationmanager-fix-critical-notifications-not-showing-when-Do-not-disturb-is-active.patch plasma-workspace-6.3.5/debian/patches/upstream_7635c551_libnotificationmanager-fix-critical-notifications-not-showing-when-Do-not-disturb-is-active.patch
--- plasma-workspace-6.3.4/debian/patches/upstream_7635c551_libnotificationmanager-fix-critical-notifications-not-showing-when-Do-not-disturb-is-active.patch	1970-01-01 01:00:00.000000000 +0100
+++ plasma-workspace-6.3.5/debian/patches/upstream_7635c551_libnotificationmanager-fix-critical-notifications-not-showing-when-Do-not-disturb-is-active.patch	2025-05-20 08:31:26.000000000 +0200
@@ -0,0 +1,44 @@
+From 7635c5519acc28e503d82a570abf9f79bcfa10fe Mon Sep 17 00:00:00 2001
+From: Fushan Wen <qydwhotmail@gmail.com>
+Date: Fri, 16 May 2025 10:03:13 +0800
+Subject: [PATCH] libnotificationmanager: fix critical notifications not
+ showing when Do not disturb is active
+
+The filter only checks if `WasAddedDuringInhibitionRole` is true but
+ignores the urgency flag, which is used to show critical notifications
+when Do not disturb is active.
+
+
+(cherry picked from commit 49214ae107a4a13338876488b2bc28cf018d02c4)
+
+Co-authored-by: Fushan Wen <qydwhotmail@gmail.com>
+
+(cherry picked from commit 8642df804d1e59db9233c44943483348328b4982)
+
+Co-authored-by: Fushan Wen <qydwhotmail@gmail.com>
+---
+ libnotificationmanager/notificationfilterproxymodel.cpp | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/libnotificationmanager/notificationfilterproxymodel.cpp b/libnotificationmanager/notificationfilterproxymodel.cpp
+index 6e847a5eea5..f8ad1d93a83 100644
+--- a/libnotificationmanager/notificationfilterproxymodel.cpp
++++ b/libnotificationmanager/notificationfilterproxymodel.cpp
+@@ -191,8 +191,12 @@ bool NotificationFilterProxyModel::filterAcceptsRow(int source_row, const QModel
+         }
+     }
+ 
+-    if (!m_showAddedDuringInhibition && sourceIdx.data(Notifications::WasAddedDuringInhibitionRole).toBool()) {
+-        return false;
++    // Normal Do Not Disturb filtering
++    if (!m_showAddedDuringInhibition) {
++        // Show critical notifications even in Do Not Disturb
++        if (!m_urgencies.testFlag(urgency) && sourceIdx.data(Notifications::WasAddedDuringInhibitionRole).toBool()) {
++            return false;
++        }
+     }
+ 
+     return true;
+-- 
+GitLab
+
diff -Nru plasma-workspace-6.3.4/debian/patches/upstream_8845c001_shell-Osd-Fix-missing-RTL.patch plasma-workspace-6.3.5/debian/patches/upstream_8845c001_shell-Osd-Fix-missing-RTL.patch
--- plasma-workspace-6.3.4/debian/patches/upstream_8845c001_shell-Osd-Fix-missing-RTL.patch	1970-01-01 01:00:00.000000000 +0100
+++ plasma-workspace-6.3.5/debian/patches/upstream_8845c001_shell-Osd-Fix-missing-RTL.patch	2025-05-20 08:31:26.000000000 +0200
@@ -0,0 +1,28 @@
+From 8845c001e2de0ef1c97daf2bf7f2ca1e4efd1f34 Mon Sep 17 00:00:00 2001
+From: Oliver Beard <olib141@outlook.com>
+Date: Fri, 9 May 2025 15:38:00 +0100
+Subject: [PATCH] shell/Osd: Fix missing RTL PlasmaCore.Dialog does not set
+ LayoutMirroring for us, so we need to do it ourselves.
+
+BUG: 503255
+---
+ lookandfeel/org.kde.breeze/contents/osd/Osd.qml | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/lookandfeel/org.kde.breeze/contents/osd/Osd.qml b/lookandfeel/org.kde.breeze/contents/osd/Osd.qml
+index c498f997c8b..09aafdd0a4d 100644
+--- a/lookandfeel/org.kde.breeze/contents/osd/Osd.qml
++++ b/lookandfeel/org.kde.breeze/contents/osd/Osd.qml
+@@ -12,6 +12,9 @@ PlasmaCore.Dialog {
+     type: PlasmaCore.Dialog.OnScreenDisplay
+     outputOnly: true
+ 
++    LayoutMirroring.enabled: Qt.application.layoutDirection === Qt.RightToLeft
++    LayoutMirroring.childrenInherit: true
++
+     property alias timeout: osd.timeout
+     property alias osdValue: osd.osdValue
+     property alias osdMaxValue: osd.osdMaxValue
+-- 
+GitLab
+
diff -Nru plasma-workspace-6.3.4/debian/patches/upstream_9abfdd26_kcm-users-refine-deleting-logged-in-user-UX.patch plasma-workspace-6.3.5/debian/patches/upstream_9abfdd26_kcm-users-refine-deleting-logged-in-user-UX.patch
--- plasma-workspace-6.3.4/debian/patches/upstream_9abfdd26_kcm-users-refine-deleting-logged-in-user-UX.patch	1970-01-01 01:00:00.000000000 +0100
+++ plasma-workspace-6.3.5/debian/patches/upstream_9abfdd26_kcm-users-refine-deleting-logged-in-user-UX.patch	2025-05-20 08:31:26.000000000 +0200
@@ -0,0 +1,320 @@
+From 9abfdd2640bc83608e347e2180cd30198001cb64 Mon Sep 17 00:00:00 2001
+From: Nate Graham <nate@kde.org>
+Date: Fri, 14 Mar 2025 16:23:58 -0600
+Subject: [PATCH] kcm/users: refine "deleting logged-in user" UX
+
+Right now there are two problems:
+1. Deleting a logged-in user shows no warning about this.
+2. Asking to delete the files of a logged-in user fails silently
+   (AccountsService simply won't do it).
+
+This commit solves both problems: now the user sees a warning dialog
+when they try to delete another logged-in user, and it also prevents
+them from trying to delete a logged-in user's files, instead redirecting
+them to just delete the account but not the files.
+
+To achieve this, I needed to change what the `loggedIn` property does,
+because previously it was inaccurate, returning whether the queried user
+is the currently logged-in user. Now it returns whether the quaried user
+is logged in, and I added a new `isMe` property to hold whether the
+queried user is the currently logged-in user.
+
+BUG: 495494
+FIXED-IN: 6.4.0
+---
+ kcms/users/src/CMakeLists.txt         |  1 +
+ kcms/users/src/ui/UserDetailsPage.qml | 46 +++++++++++++++++++++++----
+ kcms/users/src/ui/main.qml            |  2 +-
+ kcms/users/src/user.cpp               | 26 ++++++++++++---
+ kcms/users/src/user.h                 |  7 +++-
+ kcms/users/src/usermodel.cpp          | 11 ++++---
+ kcms/users/src/usermodel.h            |  3 +-
+ 7 files changed, 79 insertions(+), 17 deletions(-)
+
+diff --git a/kcms/users/src/CMakeLists.txt b/kcms/users/src/CMakeLists.txt
+index 45aed3c970..5848d376a7 100644
+--- a/kcms/users/src/CMakeLists.txt
++++ b/kcms/users/src/CMakeLists.txt
+@@ -69,6 +69,7 @@ target_link_libraries(kcm_users PRIVATE
+     KF6::I18n
+     KF6::KCMUtilsQuick
+     KF6::Wallet
++    PW::KWorkspace
+     Qt::DBus
+     crypt
+ )
+diff --git a/kcms/users/src/ui/UserDetailsPage.qml b/kcms/users/src/ui/UserDetailsPage.qml
+index c83fa7e0e1..e5950d0879 100644
+--- a/kcms/users/src/ui/UserDetailsPage.qml
++++ b/kcms/users/src/ui/UserDetailsPage.qml
+@@ -36,8 +36,8 @@ KCM.SimpleKCM {
+     Connections {
+         target: user
+         function onPasswordSuccessfullyChanged() {
+-            // Prompt to change the wallet password of the logged-in user
+-            if (usersDetailPage.user.loggedIn && usersDetailPage.user.usesDefaultWallet()) {
++            // Prompt to change the wallet password of the current user
++            if (usersDetailPage.user.isCurrentUser && usersDetailPage.user.usesDefaultWallet()) {
+                 changeWalletPassword.open()
+             }
+         }
+@@ -81,6 +81,15 @@ KCM.SimpleKCM {
+         return pending
+     }
+ 
++    function deleteUser(uid: int, deleteUserFiles: bool) {
++        if (usersDetailPage.user.loggedIn) {
++            deleteLoggedInUserWarningDialog.askedToDeleteUserFilesWhenImpossible = deleteUserFiles
++            deleteLoggedInUserWarningDialog.open()
++        } else {
++            kcm.mainUi.deleteUser(usersDetailPage.user.uid, deleteUserFiles)
++        }
++    }
++
+     Component.onCompleted: {
+         kcm.needsSave = Qt.binding(resolvePending)
+     }
+@@ -93,6 +102,31 @@ KCM.SimpleKCM {
+         position: Kirigami.InlineMessage.Position.Header
+     }
+ 
++    Kirigami.PromptDialog {
++        id: deleteLoggedInUserWarningDialog
++
++        property bool askedToDeleteUserFilesWhenImpossible: false
++
++        parent: usersDetailPage.QQC2.Overlay.overlay
++        maximumWidth: Kirigami.Units.gridUnit * 30
++
++        title: askedToDeleteUserFilesWhenImpossible
++            ? i18nc("@title:window", "Delete Logged-In User Without Deleting Files?")
++            : i18nc("@title:window", "Delete Logged-In User?")
++        subtitle: askedToDeleteUserFilesWhenImpossible
++            ? xi18nc("@info:usagetip", "%1 is currently logged in, so their files cannot be deleted. Delete just the account instead?<nl/><nl/>This will make %1 unable to log in again, and they may experience strange behaviors until they log out.", usersDetailPage.user.displayPrimaryName)
++            : i18nc("@info:usagetip", "%1 is currently logged in. Deleting the account will make them unable to log in again, and they may experience strange behaviors until they log out.", usersDetailPage.user.displayPrimaryName)
++        dialogType: Kirigami.PromptDialog.Warning
++        standardButtons: Kirigami.Dialog.Ok | Kirigami.Dialog.Cancel
++
++        onAccepted: kcm.mainUi.deleteUser(usersDetailPage.user.uid, false)
++
++        Component.onCompleted: {
++            standardButton(Kirigami.Dialog.Ok).text = i18nc("@action: button", "Delete %1", usersDetailPage.user.realName)
++            standardButton(Kirigami.Dialog.Ok).icon.name = "edit-delete"
++        }
++    }
++
+     ColumnLayout {
+         KirigamiComponents.AvatarButton {
+             readonly property int size: 6 * Kirigami.Units.gridUnit
+@@ -193,7 +227,7 @@ KCM.SimpleKCM {
+             QQC2.Button {
+                 id: deleteUser
+ 
+-                enabled: !usersDetailPage.user.loggedIn && (!kcm.userModel.rowCount() < 2)
++                enabled: !usersDetailPage.user.isCurrentUser
+ 
+                 KeyNavigation.down: fingerprintButton
+ 
+@@ -204,14 +238,14 @@ KCM.SimpleKCM {
+                         text: i18n("Delete files")
+                         icon.name: "edit-delete-shred"
+                         onClicked: {
+-                            kcm.mainUi.deleteUser(usersDetailPage.user.uid, true)
++                            usersDetailPage.deleteUser(usersDetailPage.user.uid, true);
+                         }
+                     }
+                     QQC2.MenuItem {
+                         text: i18n("Keep files")
+                         icon.name: "document-multiple"
+                         onClicked: {
+-                            kcm.mainUi.deleteUser(usersDetailPage.user.uid, false)
++                            usersDetailPage.deleteUser(usersDetailPage.user.uid, false);
+                         }
+                     }
+                 }
+@@ -236,7 +270,7 @@ KCM.SimpleKCM {
+                 if (kcm.fingerprintModel.currentlyEnrolling) {
+                     kcm.fingerprintModel.stopEnrolling();
+                 }
+-                kcm.fingerprintModel.switchUser(user.name == kcm.userModel.getLoggedInUser().name ? "" : user.name);
++                kcm.fingerprintModel.switchUser(user.name == kcm.userModel.getCurrentUser().name ? "" : user.name);
+ 
+                 if (fingerprintButton.dialog === null) {
+                     const component = Qt.createComponent("FingerprintDialog.qml");
+diff --git a/kcms/users/src/ui/main.qml b/kcms/users/src/ui/main.qml
+index a76bcab20c..cbc223ea5e 100644
+--- a/kcms/users/src/ui/main.qml
++++ b/kcms/users/src/ui/main.qml
+@@ -71,7 +71,7 @@ KCM.ScrollViewKCM {
+             kcm.columnWidth = Kirigami.Units.gridUnit * 15
+ 
+             // Push users page on desktop for two pane layout
+-            kcm.push("UserDetailsPage.qml", { user: kcm.userModel.getLoggedInUser() })
++            kcm.push("UserDetailsPage.qml", { user: kcm.userModel.getCurrentUser() })
+         }
+     }
+ 
+diff --git a/kcms/users/src/user.cpp b/kcms/users/src/user.cpp
+index d13bcb365e..63efdd853e 100644
+--- a/kcms/users/src/user.cpp
++++ b/kcms/users/src/user.cpp
+@@ -17,6 +17,7 @@
+ #include <QImage>
+ #include <QImageWriter>
+ #include <config-workspace.h>
++#include <kdisplaymanager.h>
+ #include <sys/types.h>
+ #include <unistd.h>
+ 
+@@ -225,12 +226,24 @@ void User::loadData()
+         userDataChanged = true;
+         Q_EMIT administratorChanged();
+     }
+-    const auto loggedIn = (mUid == getuid());
+-    if (mLoggedIn != loggedIn) {
+-        mLoggedIn = loggedIn;
+-        mOriginalLoggedIn = mLoggedIn;
++
++    mIsCurrentUser = (mUid == getuid());
++
++    mOriginalLoggedIn = mLoggedIn;
++
++    SessList sessions;
++    KDisplayManager displayManager;
++    displayManager.localSessions(sessions);
++    for (auto s : sessions) {
++        if (s.user == mOriginalName)
++            mLoggedIn = true;
++    }
++
++    if (mOriginalLoggedIn != mLoggedIn) {
+         userDataChanged = true;
++        Q_EMIT loggedInChanged();
+     }
++
+     if (userDataChanged) {
+         Q_EMIT dataChanged();
+     }
+@@ -348,6 +361,11 @@ void User::changeWalletPassword()
+     KWallet::Wallet::changePassword(QStringLiteral("kdewallet"), 1);
+ }
+ 
++bool User::isCurrentUser() const
++{
++    return mIsCurrentUser;
++}
++
+ bool User::loggedIn() const
+ {
+     return mLoggedIn;
+diff --git a/kcms/users/src/user.h b/kcms/users/src/user.h
+index 335855c4f7..e7f330c32e 100644
+--- a/kcms/users/src/user.h
++++ b/kcms/users/src/user.h
+@@ -77,7 +77,9 @@ class User : public QObject
+ 
+     Q_PROPERTY(bool faceValid READ faceValid NOTIFY faceValidChanged)
+ 
+-    Q_PROPERTY(bool loggedIn READ loggedIn CONSTANT)
++    Q_PROPERTY(bool isCurrentUser READ isCurrentUser CONSTANT)
++
++    Q_PROPERTY(bool loggedIn READ loggedIn NOTIFY loggedInChanged)
+ 
+     Q_PROPERTY(bool administrator READ administrator WRITE setAdministrator NOTIFY administratorChanged)
+ 
+@@ -96,6 +98,7 @@ public:
+     QString email() const;
+     QUrl face() const;
+     bool faceValid() const;
++    bool isCurrentUser() const;
+     bool loggedIn() const;
+     bool administrator() const;
+     QDBusObjectPath path() const;
+@@ -126,6 +129,7 @@ Q_SIGNALS:
+     void realNameChanged();
+     void displayNamesChanged();
+     void emailChanged();
++    void loggedInChanged();
+     void faceChanged();
+     void faceValidChanged();
+     void administratorChanged();
+@@ -150,6 +154,7 @@ private:
+     bool mOriginalAdministrator = false;
+     bool mFaceValid = false;
+     bool mOriginalFaceValid = false;
++    bool mIsCurrentUser = false;
+     bool mLoggedIn = false;
+     bool mOriginalLoggedIn = false;
+     QDBusObjectPath mPath;
+diff --git a/kcms/users/src/usermodel.cpp b/kcms/users/src/usermodel.cpp
+index 8be299659b..868caf0d82 100644
+--- a/kcms/users/src/usermodel.cpp
++++ b/kcms/users/src/usermodel.cpp
+@@ -83,7 +83,7 @@ UserModel::UserModel(QObject *parent)
+     }
+ 
+     std::ranges::stable_partition(m_userList, [](User *u) {
+-        return u->loggedIn();
++        return u->isCurrentUser();
+     });
+ 
+     connect(this, &QAbstractItemModel::rowsInserted, this, &UserModel::moreThanOneAdminUserChanged);
+@@ -103,6 +103,7 @@ QHash<int, QByteArray> UserModel::roleNames() const
+     names.insert(AdministratorRole, QByteArrayLiteral("administrator"));
+     names.insert(UserRole, QByteArrayLiteral("userObject"));
+     names.insert(FaceValidRole, QByteArrayLiteral("faceValid"));
++    names.insert(IsCurrentUserRole, QByteArrayLiteral("isCurrentUser"));
+     names.insert(LoggedInRole, QByteArrayLiteral("loggedIn"));
+     names.insert(SectionHeaderRole, QByteArrayLiteral("sectionHeader"));
+     return names;
+@@ -110,10 +111,10 @@ QHash<int, QByteArray> UserModel::roleNames() const
+ 
+ UserModel::~UserModel() = default;
+ 
+-User *UserModel::getLoggedInUser() const
++User *UserModel::getCurrentUser() const
+ {
+     for (const auto user : std::as_const(m_userList)) {
+-        if (user->loggedIn()) {
++        if (user->isCurrentUser()) {
+             return user;
+         }
+     }
+@@ -161,10 +162,12 @@ QVariant UserModel::data(const QModelIndex &index, int role) const
+         return QFile::exists(user->face().path());
+     case UserRole:
+         return QVariant::fromValue(user);
++    case IsCurrentUserRole:
++        return user->isCurrentUser();
+     case LoggedInRole:
+         return user->loggedIn();
+     case SectionHeaderRole:
+-        return user->loggedIn() ? i18n("Your Account") : i18n("Other Accounts");
++        return user->isCurrentUser() ? i18n("Your Account") : i18n("Other Accounts");
+     }
+ 
+     return QVariant();
+diff --git a/kcms/users/src/usermodel.h b/kcms/users/src/usermodel.h
+index a9c1efeba9..167107ae43 100644
+--- a/kcms/users/src/usermodel.h
++++ b/kcms/users/src/usermodel.h
+@@ -29,6 +29,7 @@ public:
+         FaceValidRole,
+         AdministratorRole,
+         UserRole,
++        IsCurrentUserRole,
+         LoggedInRole,
+         SectionHeaderRole,
+     };
+@@ -42,7 +43,7 @@ public:
+     QVariant data(const QModelIndex &index, int role) const override;
+     int rowCount(const QModelIndex &parent = QModelIndex()) const override;
+ 
+-    Q_INVOKABLE User *getLoggedInUser() const;
++    Q_INVOKABLE User *getCurrentUser() const;
+ 
+     QHash<int, QByteArray> roleNames() const override;
+ 
+-- 
+GitLab
+
diff -Nru plasma-workspace-6.3.4/debian/patches/upstream_9e0939c1_Warn-user-about-full-storage-in-any-device-partition.patch plasma-workspace-6.3.5/debian/patches/upstream_9e0939c1_Warn-user-about-full-storage-in-any-device-partition.patch
--- plasma-workspace-6.3.4/debian/patches/upstream_9e0939c1_Warn-user-about-full-storage-in-any-device-partition.patch	1970-01-01 01:00:00.000000000 +0100
+++ plasma-workspace-6.3.5/debian/patches/upstream_9e0939c1_Warn-user-about-full-storage-in-any-device-partition.patch	2025-05-20 08:31:26.000000000 +0200
@@ -0,0 +1,478 @@
+From 9e0939c15db6a208b1b65547f9dcac2396cc54fb Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Niccol=C3=B2=20Venerandi?= <niccolo@venerandi.com>
+Date: Mon, 24 Mar 2025 18:57:07 +0100
+Subject: [PATCH] Warn user about full storage in any device/partition
+
+Currently, we only check for home and / partitions to be full
+when warning user. With this commit we instead check for all
+partitions / devices that are mounted and not read only.
+
+Co-authored-by: David Edmundson <kde@davidedmundson.co.uk>
+---
+ freespacenotifier/CMakeLists.txt              |  2 +-
+ freespacenotifier/freespacenotifier.cpp       | 73 +++++++--------
+ freespacenotifier/freespacenotifier.h         |  3 +-
+ freespacenotifier/freespacenotifier.kcfg      | 14 ++-
+ .../freespacenotifier_prefs_base.ui           | 69 +++++++++-----
+ freespacenotifier/module.cpp                  | 93 ++++++++++++++++---
+ freespacenotifier/module.h                    |  7 ++
+ freespacenotifier/settings.kcfgc              |  2 +-
+ 8 files changed, 183 insertions(+), 80 deletions(-)
+
+diff --git a/freespacenotifier/CMakeLists.txt b/freespacenotifier/CMakeLists.txt
+index c07bcf5c643..3612c1f0de7 100644
+--- a/freespacenotifier/CMakeLists.txt
++++ b/freespacenotifier/CMakeLists.txt
+@@ -21,7 +21,6 @@ kde_target_enable_exceptions(freespacenotifier PRIVATE)
+ 
+ target_link_libraries(freespacenotifier
+     Qt6::Concurrent
+-    QCoro::Core
+     KF6::ConfigWidgets
+     KF6::DBusAddons
+     KF6::I18n
+@@ -30,6 +29,7 @@ target_link_libraries(freespacenotifier
+     KF6::Notifications
+     KF6::JobWidgets
+     KF6::Service
++    KF6::Solid
+ )
+ 
+ ########### install files ###############
+diff --git a/freespacenotifier/freespacenotifier.cpp b/freespacenotifier/freespacenotifier.cpp
+index 25ed87d95aa..fef16cea347 100644
+--- a/freespacenotifier/freespacenotifier.cpp
++++ b/freespacenotifier/freespacenotifier.cpp
+@@ -14,23 +14,25 @@
+ #include <KNotificationJobUiDelegate>
+ 
+ #include <KIO/ApplicationLauncherJob>
++#include <KIO/FileSystemFreeSpaceJob>
+ #include <KIO/OpenUrlJob>
+ 
+-#include <QStorageInfo>
+-#include <QtConcurrent>
++#include <Solid/Device>
++#include <Solid/StorageAccess>
+ 
+-#include <QCoroFuture>
+-#include <QCoroTask>
++#include <QFileInfo>
+ 
+ #include <chrono>
+ 
+ #include "settings.h"
+ 
+-FreeSpaceNotifier::FreeSpaceNotifier(const QString &path, const KLocalizedString &notificationText, QObject *parent)
++FreeSpaceNotifier::FreeSpaceNotifier(const QString &udi, const QString &path, const KLocalizedString &notificationText, QObject *parent)
+     : QObject(parent)
++    , m_udi(udi)
+     , m_path(path)
+     , m_notificationText(notificationText)
+ {
++    checkFreeDiskSpace();
+     connect(&m_timer, &QTimer::timeout, this, &FreeSpaceNotifier::checkFreeDiskSpace);
+     m_timer.start(std::chrono::minutes(1));
+ }
+@@ -51,51 +53,44 @@ void FreeSpaceNotifier::checkFreeDiskSpace()
+         return;
+     }
+ 
+-    if (m_checking) {
+-        qCWarning(FSN) << "Obtaining storage info is taking a long while for" << m_path;
++    Solid::Device device(m_udi);
++
++    Solid::StorageAccess *storageaccess = device.as<Solid::StorageAccess>();
++    if (!storageaccess || !storageaccess->isAccessible()) {
++        qCDebug(FSN) << "Space Monitor: failed to get storage access " << m_udi;
+         return;
+     }
+-    m_checking = true;
+-
+-    // Load the QStorageInfo in a co-routine in case the filesystem is having performance issues.
+-    auto future = QtConcurrent::run([path = m_path]() -> std::optional<QStorageInfo> {
+-        QStorageInfo info(path);
+-        if (!info.isValid()) {
+-            qCWarning(FSN) << "Failed to obtain storage info for" << path;
+-            return {};
+-        }
+-        if (!info.isReady()) {
+-            qCWarning(FSN) << "Storage info is not ready for" << path;
+-            return {};
+-        }
+-        return info;
+-    });
+-    QCoro::connect(std::move(future), this, [this](const auto &optionalInfo) {
+-        m_checking = false;
+-        if (!optionalInfo.has_value()) {
+-            qCDebug(FSN) << "Empty QStorageInfo for" << m_path;
+-            return;
+-        }
+-        const QStorageInfo &info = optionalInfo.value();
+-        if (info.isReadOnly()) {
+-            qCDebug(FSN) << "Not checking for free space for read only mount point" << m_path;
++
++    QString path = storageaccess->filePath();
++
++    // create job
++    KIO::FileSystemFreeSpaceJob *job = KIO::fileSystemFreeSpace(QUrl::fromLocalFile(path));
++
++    // collect and process info
++    connect(job, &KJob::result, this, [this, job]() {
++        if (job->error()) {
++            qCDebug(FSN) << "Space Monitor: failed to get storage access " << m_udi;
+             return;
+         }
+-
+-        const int limit = FreeSpaceNotifierSettings::minimumSpace(); // MiB
+-        const qint64 avail = info.bytesAvailable() / (1024 * 1024); // to MiB
+-        qCDebug(FSN) << "Available MiB for" << m_path << ":" << avail;
++        KIO::filesize_t size = job->size();
++        KIO::filesize_t available = job->availableSize();
++        const qint64 totalSpaceMB = size / (1024 * 1024); // to MiB
++        const int percLimit = (FreeSpaceNotifierSettings::minimumSpacePercentage() * totalSpaceMB) / 100;
++        const int fixedLimit = FreeSpaceNotifierSettings::minimumSpace();
++        const int limit = qMin(fixedLimit, percLimit);
++        const qint64 avail = available / (1024 * 1024); // to MiB
+ 
+         if (avail >= limit) {
+             if (m_notification) {
+                 m_notification->close();
+             }
++            m_lastAvail = avail;
+             return;
+         }
+ 
+-        const int availPercent = int(100 * info.bytesAvailable() / info.bytesTotal());
++        const int availPercent = int(100 * available / size);
+         const QString text = m_notificationText.subs(avail).subs(availPercent).toString();
+-        qCDebug(FSN) << "Available percentage for" << m_path << ":" << availPercent;
++        qCDebug(FSN) << "Available percentage for" << m_udi << ":" << availPercent;
+ 
+         // Make sure the notification text is always up to date whenever we checked free space
+         if (m_notification) {
+@@ -109,7 +104,7 @@ void FreeSpaceNotifier::checkFreeDiskSpace()
+         }
+ 
+         // Always warn the first time or when available space dropped to half of the previous time
+-        const bool warn = (m_lastAvail < 0 || avail < m_lastAvail / 2);
++        const bool warn = (m_lastAvail >= limit || avail < m_lastAvail / 2);
+         if (!warn) {
+             return;
+         }
+@@ -180,7 +175,7 @@ void FreeSpaceNotifier::onNotificationClosed()
+ 
+ void FreeSpaceNotifier::resetLastAvailable()
+ {
+-    m_lastAvail = -1;
++    m_lastAvail = FreeSpaceNotifierSettings::minimumSpace();
+     m_lastAvailTimer->deleteLater();
+     m_lastAvailTimer = nullptr;
+ }
+diff --git a/freespacenotifier/freespacenotifier.h b/freespacenotifier/freespacenotifier.h
+index fe2ed6c9308..510e4afbbba 100644
+--- a/freespacenotifier/freespacenotifier.h
++++ b/freespacenotifier/freespacenotifier.h
+@@ -22,7 +22,7 @@ class FreeSpaceNotifier : public QObject
+     Q_OBJECT
+ 
+ public:
+-    explicit FreeSpaceNotifier(const QString &path, const KLocalizedString &notificationText, QObject *parent = nullptr);
++    explicit FreeSpaceNotifier(const QString &udi, const QString &path, const KLocalizedString &notificationText, QObject *parent = nullptr);
+     ~FreeSpaceNotifier() override;
+ 
+ Q_SIGNALS:
+@@ -39,6 +39,7 @@ private:
+     // Only run one check at a time
+     bool m_checking = false;
+ 
++    const QString m_udi;
+     const QString m_path;
+     KLocalizedString m_notificationText;
+ 
+diff --git a/freespacenotifier/freespacenotifier.kcfg b/freespacenotifier/freespacenotifier.kcfg
+index 51e02b3df2c..ab273cb1212 100644
+--- a/freespacenotifier/freespacenotifier.kcfg
++++ b/freespacenotifier/freespacenotifier.kcfg
+@@ -6,10 +6,16 @@
+   <kcfgfile name="freespacenotifierrc"/>
+   <group name="General">
+     <entry name="minimumSpace" type="Int">
+-	    <label>Minimum free space before user starts being notified.</label>
+-	    <default>200</default>
+-	    <min>1</min>
+-	    <max>100000</max>
++      <label>Minimum free space before user starts being notified.</label>
++      <default>200</default>
++      <min>1</min>
++      <max>100000</max>
++    </entry>
++    <entry name="minimumSpacePercentage" type="Int">
++      <label>Minimum percentage free space before user starts being notified.</label>
++      <default>5</default>
++      <min>1</min>
++      <max>30</max>
+     </entry>
+     <entry name="enableNotification" type="Bool">
+ 	    <label>Is the free space notification enabled.</label>
+diff --git a/freespacenotifier/freespacenotifier_prefs_base.ui b/freespacenotifier/freespacenotifier_prefs_base.ui
+index 7f93d49c009..78060916139 100644
+--- a/freespacenotifier/freespacenotifier_prefs_base.ui
++++ b/freespacenotifier/freespacenotifier_prefs_base.ui
+@@ -7,11 +7,11 @@
+     <x>0</x>
+     <y>0</y>
+     <width>320</width>
+-    <height>217</height>
++    <height>250</height>
+    </rect>
+   </property>
+   <layout class="QGridLayout" name="gridLayout">
+-   <item row="0" column="0">
++   <item row="0" column="0" colspan="2">
+     <widget class="QCheckBox" name="kcfg_enableNotification">
+      <property name="text">
+       <string>Enable low disk space warning</string>
+@@ -39,6 +39,39 @@
+     </widget>
+    </item>
+    <item row="2" column="0">
++    <widget class="QLabel" name="label_minimumSpacePercentage">
++     <property name="text">
++      <string>And when free space is under:</string>
++     </property>
++     <property name="alignment">
++      <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
++     </property>
++    </widget>
++   </item>
++   <item row="2" column="1">
++    <widget class="QSpinBox" name="kcfg_minimumSpacePercentage">
++     <property name="suffix">
++      <string>%</string>
++     </property>
++     <property name="minimum">
++      <number>0</number>
++     </property>
++     <property name="maximum">
++      <number>100</number>
++     </property>
++    </widget>
++   </item>
++   <item row="3" column="0" colspan="2">
++    <widget class="QLabel" name="label_info">
++     <property name="text">
++      <string>The system will notify you if the free space drops below the specified MiB and the specified percentage of available space.</string>
++     </property>
++     <property name="wordWrap">
++      <bool>true</bool>
++     </property>
++    </widget>
++   </item>
++   <item row="4" column="0" colspan="2">
+     <spacer name="verticalSpacer">
+      <property name="orientation">
+       <enum>Qt::Vertical</enum>
+@@ -60,32 +93,24 @@
+    <signal>toggled(bool)</signal>
+    <receiver>kcfg_minimumSpace</receiver>
+    <slot>setEnabled(bool)</slot>
+-   <hints>
+-    <hint type="sourcelabel">
+-     <x>114</x>
+-     <y>15</y>
+-    </hint>
+-    <hint type="destinationlabel">
+-     <x>272</x>
+-     <y>44</y>
+-    </hint>
+-   </hints>
+   </connection>
+   <connection>
+    <sender>kcfg_enableNotification</sender>
+    <signal>toggled(bool)</signal>
+    <receiver>label_minimumSpace</receiver>
+    <slot>setEnabled(bool)</slot>
+-   <hints>
+-    <hint type="sourcelabel">
+-     <x>114</x>
+-     <y>15</y>
+-    </hint>
+-    <hint type="destinationlabel">
+-     <x>114</x>
+-     <y>44</y>
+-    </hint>
+-   </hints>
++  </connection>
++  <connection>
++   <sender>kcfg_enableNotification</sender>
++   <signal>toggled(bool)</signal>
++   <receiver>kcfg_minimumSpacePercentage</receiver>
++   <slot>setEnabled(bool)</slot>
++  </connection>
++  <connection>
++   <sender>kcfg_enableNotification</sender>
++   <signal>toggled(bool)</signal>
++   <receiver>label_minimumSpacePercentage</receiver>
++   <slot>setEnabled(bool)</slot>
+   </connection>
+  </connections>
+ </ui>
+diff --git a/freespacenotifier/module.cpp b/freespacenotifier/module.cpp
+index f4a6dbb7a3b..3d8e06c0a48 100644
+--- a/freespacenotifier/module.cpp
++++ b/freespacenotifier/module.cpp
+@@ -4,7 +4,7 @@
+     SPDX-FileCopyrightText: 2009 Ivo Anjo <knuckles@gmail.com>
+ 
+     SPDX-License-Identifier: GPL-2.0-or-later
+-*/
++ */
+ 
+ #include "module.h"
+ 
+@@ -12,6 +12,12 @@
+ #include <KMountPoint>
+ #include <KPluginFactory>
+ 
++#include <Solid/Device>
++#include <Solid/DeviceNotifier>
++#include <Solid/GenericInterface>
++#include <Solid/StorageAccess>
++#include <Solid/StorageVolume>
++
+ #include <QDir>
+ 
+ #include "kded_interface.h"
+@@ -28,20 +34,83 @@ FreeSpaceNotifierModule::FreeSpaceNotifierModule(QObject *parent, const QList<QV
+     // If the module is loaded, notifications are enabled
+     FreeSpaceNotifierSettings::setEnableNotification(true);
+ 
+-    const QString rootPath = QStringLiteral("/");
+-    const QString homePath = QDir::homePath();
++    auto m_notifier = Solid::DeviceNotifier::instance();
++    connect(m_notifier, &Solid::DeviceNotifier::deviceAdded, this, [this](const QString &udi) {
++        Solid::Device device(udi);
++
++        // Required for two stage devices
++        if (auto volume = device.as<Solid::StorageVolume>()) {
++            Solid::GenericInterface *iface = device.as<Solid::GenericInterface>();
++            if (iface) {
++                iface->setProperty("udi", udi);
++                connect(iface, &Solid::GenericInterface::propertyChanged, this, [this, udi]() {
++                    onNewSolidDevice(udi);
++                });
++            }
++        }
++        onNewSolidDevice(udi);
++    });
++    connect(m_notifier, &Solid::DeviceNotifier::deviceRemoved, this, [this](const QString &udi) {
++        stopTracking(udi);
++    });
+ 
+-    const QStorageInfo rootInfo(rootPath);
+-    const QStorageInfo homeInfo(homePath);
++    const auto devices = Solid::Device::listFromType(Solid::DeviceInterface::StorageAccess);
++    for (auto device : devices) {
++        onNewSolidDevice(device.udi());
++    };
++}
+ 
+-    // Always monitor home
+-    auto *homeNotifier = new FreeSpaceNotifier(homePath, ki18n("Your Home folder is running out of disk space, you have %1 MiB remaining (%2%)."), this);
+-    connect(homeNotifier, &FreeSpaceNotifier::configureRequested, this, &FreeSpaceNotifierModule::showConfiguration);
++void FreeSpaceNotifierModule::onNewSolidDevice(const QString &udi)
++{
++    Solid::Device device(udi);
++    Solid::StorageAccess *access = device.as<Solid::StorageAccess>();
++    if (!access) {
++        return;
++    }
++
++    // We only track a partition if we are able to
++    // determine that it's not read only.
++    bool isReadOnly = true;
++    if (auto generic = device.as<Solid::GenericInterface>()) {
++        isReadOnly = generic->property(QStringLiteral("ReadOnly")).toBool();
++    }
++    if (isReadOnly) {
++        return;
++    }
+ 
+-    // Monitor '/' when it is different from home
+-    if (rootInfo != homeInfo) {
+-        auto *rootNotifier = new FreeSpaceNotifier(rootPath, ki18n("Your Root partition is running out of disk space, you have %1 MiB remaining (%2%)."), this);
+-        connect(rootNotifier, &FreeSpaceNotifier::configureRequested, this, &FreeSpaceNotifierModule::showConfiguration);
++    if (access->isAccessible()) {
++        startTracking(udi, access);
++    }
++    connect(access, &Solid::StorageAccess::accessibilityChanged, this, [this, udi, access](bool available) {
++        if (available) {
++            startTracking(udi, access);
++        } else {
++            stopTracking(udi);
++        }
++    });
++}
++
++void FreeSpaceNotifierModule::startTracking(const QString &udi, Solid::StorageAccess *access)
++{
++    if (m_notifiers.contains(udi)) {
++        return;
++    }
++    Solid::Device device(udi);
++
++    KLocalizedString message = ki18n("Your %1 partition is running out of disk space; %2 MiB of space remaining (%3%).").subs(device.displayName());
++    if (access->filePath() == QStringLiteral("/")) {
++        message = ki18n("Your Root partition is running out of disk space; %1 MiB of space remaining (%2%).");
++    } else if (access->filePath() == QDir::homePath()) {
++        message = ki18n("Your Home folder is running out of disk space; %1 MiB of space remaining (%2%).");
++    }
++    auto *notifier = new FreeSpaceNotifier(udi, access->filePath(), message, this);
++    m_notifiers.insert(udi, notifier);
++}
++
++void FreeSpaceNotifierModule::stopTracking(const QString &udi)
++{
++    if (m_notifiers.contains(udi)) {
++        delete m_notifiers.take(udi);
+     }
+ }
+ 
+diff --git a/freespacenotifier/module.h b/freespacenotifier/module.h
+index 61ea4fdc2d0..47c725a0ed6 100644
+--- a/freespacenotifier/module.h
++++ b/freespacenotifier/module.h
+@@ -11,6 +11,8 @@
+ #include <KDEDModule>
+ #include <QObject>
+ 
++#include <Solid/StorageAccess>
++
+ #include "freespacenotifier.h"
+ 
+ class FreeSpaceNotifierModule : public KDEDModule
+@@ -21,4 +23,9 @@ public:
+ 
+ private:
+     void showConfiguration();
++    void onNewSolidDevice(const QString &udi);
++    void startTracking(const QString &udi, Solid::StorageAccess *access);
++    void stopTracking(const QString &udi);
++
++    QMap<QString, FreeSpaceNotifier *> m_notifiers;
+ };
+diff --git a/freespacenotifier/settings.kcfgc b/freespacenotifier/settings.kcfgc
+index 3997ce98614..31690fb0c14 100644
+--- a/freespacenotifier/settings.kcfgc
++++ b/freespacenotifier/settings.kcfgc
+@@ -2,5 +2,5 @@
+ File=freespacenotifier.kcfg
+ ClassName=FreeSpaceNotifierSettings
+ Singleton=true
+-Mutators=minimumSpace,enableNotification
++Mutators=minimumSpace,minimumSpacePercentage,enableNotification
+ # will create the necessary code for setting those variables
+-- 
+GitLab
+
diff -Nru plasma-workspace-6.3.4/debian/patches/upstream_a83c4e5f_applets-devicenotifier-check-if-device-has-been-added-before.patch plasma-workspace-6.3.5/debian/patches/upstream_a83c4e5f_applets-devicenotifier-check-if-device-has-been-added-before.patch
--- plasma-workspace-6.3.4/debian/patches/upstream_a83c4e5f_applets-devicenotifier-check-if-device-has-been-added-before.patch	1970-01-01 01:00:00.000000000 +0100
+++ plasma-workspace-6.3.5/debian/patches/upstream_a83c4e5f_applets-devicenotifier-check-if-device-has-been-added-before.patch	2025-05-20 08:31:26.000000000 +0200
@@ -0,0 +1,32 @@
+From a83c4e5f4139c47a8b36e94c75891e02739d8bde Mon Sep 17 00:00:00 2001
+From: Bohdan Onofriichuk <bogdan.onofriuchuk@gmail.com>
+Date: Mon, 5 May 2025 19:13:54 +0000
+Subject: [PATCH] applets/devicenotifier: check if device has been added before
+
+BUG: 495140
+
+Skip device if applet already has device with similar udi
+---
+ applets/devicenotifier/plugin/devicecontrol.cpp | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/applets/devicenotifier/plugin/devicecontrol.cpp b/applets/devicenotifier/plugin/devicecontrol.cpp
+index 4c76b3e1d5..bfe65ff0bf 100644
+--- a/applets/devicenotifier/plugin/devicecontrol.cpp
++++ b/applets/devicenotifier/plugin/devicecontrol.cpp
+@@ -152,6 +152,12 @@ QHash<int, QByteArray> DeviceControl::roleNames() const
+ void DeviceControl::onDeviceAdded(const QString &udi)
+ {
+     qCDebug(APPLETS::DEVICENOTIFIER) << "Device Controller: Added device signal arrived : " << udi;
++
++    if (m_actions.contains(udi)) {
++        qCDebug(APPLETS::DEVICENOTIFIER) << "Device Controller: Device already exists. Don't add another one : " << udi;
++        return;
++    }
++
+     Solid::Device device(udi);
+ 
+     if (!device.isValid()) {
+-- 
+GitLab
+
diff -Nru plasma-workspace-6.3.4/debian/patches/upstream_b9bc83c6_applets-systemmonitor-skip-configure-button-on-sensorless-faces.patch plasma-workspace-6.3.5/debian/patches/upstream_b9bc83c6_applets-systemmonitor-skip-configure-button-on-sensorless-faces.patch
--- plasma-workspace-6.3.4/debian/patches/upstream_b9bc83c6_applets-systemmonitor-skip-configure-button-on-sensorless-faces.patch	1970-01-01 01:00:00.000000000 +0100
+++ plasma-workspace-6.3.5/debian/patches/upstream_b9bc83c6_applets-systemmonitor-skip-configure-button-on-sensorless-faces.patch	2025-05-20 08:31:26.000000000 +0200
@@ -0,0 +1,45 @@
+From b9bc83c656189c212dd0cf7faf254efc0241f31a Mon Sep 17 00:00:00 2001
+From: Christoph Wolk <cwo.kde@posteo.net>
+Date: Sat, 17 May 2025 07:38:00 +0000
+Subject: [PATCH] applets/systemmonitor: skip configure button on sensorless
+ faces
+
+Some faces don't need sensors as they have their data included already,
+namely Process Table and Application Table. The applet does not take
+this into account and keeps showing the "Configure" button.
+
+Instead, don't show that button if one of these faces is the current
+face.
+
+BUG: 504335
+FIXED-IN: 6.4.0
+
+
+(cherry picked from commit 184e883786520d6a7494b4db69dad29d69ff63a6)
+
+Co-authored-by: Christoph Wolk <cwo.kde@posteo.net>
+---
+ .../systemmonitor/package/contents/ui/main.qml             | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/applets/systemmonitor/systemmonitor/package/contents/ui/main.qml b/applets/systemmonitor/systemmonitor/package/contents/ui/main.qml
+index 6d4480cae8a..ebc2ba40755 100644
+--- a/applets/systemmonitor/systemmonitor/package/contents/ui/main.qml
++++ b/applets/systemmonitor/systemmonitor/package/contents/ui/main.qml
+@@ -67,7 +67,12 @@ PlasmoidItem {
+     fullRepresentation: FullRepresentation {
+     }
+ 
+-    Plasmoid.configurationRequired: (Plasmoid.faceController ?? false) && Plasmoid.faceController.highPrioritySensorIds.length == 0 && Plasmoid.faceController.lowPrioritySensorIds.length == 0 && Plasmoid.faceController.totalSensors.length == 0
++    Plasmoid.configurationRequired: (Plasmoid.faceController ?? false) &&
++        Plasmoid.faceController.highPrioritySensorIds.length == 0 &&
++        Plasmoid.faceController.lowPrioritySensorIds.length == 0 &&
++        Plasmoid.faceController.totalSensors.length == 0 &&
++        ! (["org.kde.ksysguard.applicationstable",
++            "org.kde.ksysguard.processtable"].includes(Plasmoid.faceController.faceId))
+ 
+     Sensors.Sensor {
+         id: totalSensor
+-- 
+GitLab
+
diff -Nru plasma-workspace-6.3.4/debian/patches/upstream_bf67f256_klipper-make-Add-Actions-dialog-only-window-modal.patch plasma-workspace-6.3.5/debian/patches/upstream_bf67f256_klipper-make-Add-Actions-dialog-only-window-modal.patch
--- plasma-workspace-6.3.4/debian/patches/upstream_bf67f256_klipper-make-Add-Actions-dialog-only-window-modal.patch	1970-01-01 01:00:00.000000000 +0100
+++ plasma-workspace-6.3.5/debian/patches/upstream_bf67f256_klipper-make-Add-Actions-dialog-only-window-modal.patch	2025-05-20 08:31:26.000000000 +0200
@@ -0,0 +1,33 @@
+From bf67f25676d4d9777d888b6576127d368af66cb7 Mon Sep 17 00:00:00 2001
+From: Nate Graham <nate@kde.org>
+Date: Thu, 22 May 2025 14:58:27 -0600
+Subject: [PATCH] klipper: make "Add Actions" dialog only window-modal
+
+Otherwise it blocks all of plasmashell while it's open.
+
+BUG: 501938
+FIXED-IN: 6.3.6
+
+
+(cherry picked from commit 30c0703860e8e943999152e141bb44c62ee1c038)
+
+Co-authored-by: Nate Graham <nate@kde.org>
+---
+ klipper/editactiondialog.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/klipper/editactiondialog.cpp b/klipper/editactiondialog.cpp
+index 09c54c3dd70..eda12832e12 100644
+--- a/klipper/editactiondialog.cpp
++++ b/klipper/editactiondialog.cpp
+@@ -181,6 +181,7 @@ EditActionDialog::EditActionDialog(QWidget *parent)
+     : QDialog(parent)
+ {
+     setWindowTitle(i18n("Action Properties"));
++    setWindowModality(Qt::WindowModal);
+     QDialogButtonBox *buttons = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel, this);
+     buttons->button(QDialogButtonBox::Ok)->setShortcut(Qt::CTRL | Qt::Key_Return);
+     connect(buttons, &QDialogButtonBox::accepted, this, &EditActionDialog::slotAccepted);
+-- 
+GitLab
+
diff -Nru plasma-workspace-6.3.4/debian/patches/upstream_c9ee2931_kcm-regionandlang-add-locale-C-to-mapping-and-always-set-LANG-and-LC-.patch plasma-workspace-6.3.5/debian/patches/upstream_c9ee2931_kcm-regionandlang-add-locale-C-to-mapping-and-always-set-LANG-and-LC-.patch
--- plasma-workspace-6.3.4/debian/patches/upstream_c9ee2931_kcm-regionandlang-add-locale-C-to-mapping-and-always-set-LANG-and-LC-.patch	1970-01-01 01:00:00.000000000 +0100
+++ plasma-workspace-6.3.5/debian/patches/upstream_c9ee2931_kcm-regionandlang-add-locale-C-to-mapping-and-always-set-LANG-and-LC-.patch	2025-05-20 08:31:26.000000000 +0200
@@ -0,0 +1,186 @@
+From c9ee2931f9f13f0f1f3c03ccd6040648422b0c0a Mon Sep 17 00:00:00 2001
+From: Han Young <hanyoung@protonmail.com>
+Date: Sat, 22 Feb 2025 23:13:19 +0800
+Subject: [PATCH] kcm_regionandlang: add locale C to mapping and always set
+ LANG and LC_*
+
+BUG: 500432
+
+Add locale C to glibc mappings so that locale C is actually saved to config file
+
+Also set LC_* whenever LANG is set, this ensure LC_* are always up to date. In previous logic, LC_* can become out of sync if user change LANG to something else than changed it back.
+---
+ kcms/region_language/kcmregionandlang.cpp     |  8 ++-----
+ kcms/region_language/languagelistmodel.cpp    |  2 +-
+ kcms/region_language/optionsmodel.cpp         | 24 +++----------------
+ .../region_language/regionandlangsettings.cpp | 24 ++++++++++++-------
+ kcms/region_language/regionandlangsettings.h  |  2 +-
+ .../regionandlangsettingsbase.kcfg            |  4 ----
+ 6 files changed, 23 insertions(+), 41 deletions(-)
+
+diff --git a/kcms/region_language/kcmregionandlang.cpp b/kcms/region_language/kcmregionandlang.cpp
+index 943ac841d0..9dc04162a9 100644
+--- a/kcms/region_language/kcmregionandlang.cpp
++++ b/kcms/region_language/kcmregionandlang.cpp
+@@ -137,10 +137,6 @@ QString KCMRegionAndLang::localeFileDirPath()
+ 
+ void KCMRegionAndLang::save()
+ {
+-    if (!settings()->isDefaultSetting(SettingType::Lang)) {
+-        settings()->setLC_Vars(settings()->lang());
+-    }
+-
+     if (settings()->isSaveNeeded()) {
+         // assemble full locales in use
+         QStringList locales;
+@@ -264,7 +260,7 @@ void KCMRegionAndLang::unset(SettingType setting) const
+         return;
+     case SettingType::Lang:
+         entry = "LANG";
+-        settings()->setLang(settings()->defaultLangValue());
++        settings()->setLang(QString());
+         break;
+     case SettingType::Numeric:
+         entry = "LC_NUMERIC";
+@@ -351,7 +347,7 @@ QString KCMRegionAndLang::toUTF8Locale(const QString &locale)
+ #ifdef GLIBC_LOCALE
+ std::unordered_map<QString, QString> KCMRegionAndLang::constructGlibcLocaleMap()
+ {
+-    std::unordered_map<QString, QString> localeMap;
++    std::unordered_map<QString, QString> localeMap = {{QStringLiteral("C"), QStringLiteral("C")}};
+ 
+     QDir glibcLocaleDir(localeFileDirPath());
+     auto availableLocales = glibcLocaleDir.entryList(QDir::Files);
+diff --git a/kcms/region_language/languagelistmodel.cpp b/kcms/region_language/languagelistmodel.cpp
+index 5dd283cab7..894adabf6a 100644
+--- a/kcms/region_language/languagelistmodel.cpp
++++ b/kcms/region_language/languagelistmodel.cpp
+@@ -385,7 +385,7 @@ void SelectedLanguageModel::saveLanguages()
+         return;
+     }
+     if (m_selectedLanguages.empty()) {
+-        m_settings->setLang(m_settings->defaultLangValue());
++        m_settings->setLang(m_settings->langWithFallback());
+         m_settings->config()->group(QStringLiteral("Formats")).deleteEntry("lang");
+         m_settings->config()->group(QStringLiteral("Translations")).deleteEntry("language");
+     } else {
+diff --git a/kcms/region_language/optionsmodel.cpp b/kcms/region_language/optionsmodel.cpp
+index 9f2404fe90..50dd03cc5a 100644
+--- a/kcms/region_language/optionsmodel.cpp
++++ b/kcms/region_language/optionsmodel.cpp
+@@ -126,25 +126,7 @@ QVariant OptionsModel::data(const QModelIndex &index, int role) const
+             Q_ASSERT(false); // shouldn't happen
+             return {};
+         case Lang:
+-            if (m_settings->defaultLangValue().isEmpty() && m_settings->isDefaultSetting(SettingType::Lang)) {
+-                // no Lang configured, no $LANG in env
+-                return i18nc("@info:title, the current setting is system default", "System Default");
+-            } else if (!m_settings->lang().isEmpty() && m_settings->lang() != m_settings->defaultLangValue()) {
+-                // Lang configured and not empty
+-                return getNativeName(m_settings->lang());
+-            } else {
+-                // Lang configured but empty, try to read from $LANGUAGE first.
+-                if (const QString languages = m_settings->defaultLanguageValue(); !languages.isEmpty()) {
+-                    // If the first language is invalid, just fall through to $LANG
+-                    const QStringList languageList = languages.split(QLatin1Char(':'));
+-                    if (const QString firstLanguage = getNativeName(languageList[0]); !firstLanguage.isEmpty()) {
+-                        return firstLanguage;
+-                    }
+-                }
+-
+-                // Lang configured but empty, try to read from $LANG, shouldn't happen on a valid config file
+-                return getNativeName(m_settings->defaultLangValue());
+-            }
++            return getNativeName(m_settings->langWithFallback());
+         case Numeric:
+             if (m_settings->isDefaultSetting(SettingType::Numeric)) {
+                 return getNativeName(m_settings->numeric());
+@@ -369,8 +351,8 @@ QString OptionsModel::implicitFormatExampleMsg() const
+ 
+     if (!m_settings->lang().isEmpty()) {
+         locale = getNativeName(m_settings->lang());
+-    } else if (!m_settings->defaultLangValue().isEmpty()) {
+-        locale = getNativeName(m_settings->defaultLangValue());
++    } else if (!m_settings->langWithFallback().isEmpty()) {
++        locale = getNativeName(m_settings->langWithFallback());
+     } else {
+         locale = i18nc("@info:title, the current setting is system default", "System Default");
+     }
+diff --git a/kcms/region_language/regionandlangsettings.cpp b/kcms/region_language/regionandlangsettings.cpp
+index 799500b848..8aa9ed8dda 100644
+--- a/kcms/region_language/regionandlangsettings.cpp
++++ b/kcms/region_language/regionandlangsettings.cpp
+@@ -9,11 +9,19 @@
+ 
+ using KCM_RegionAndLang::SettingType;
+ 
++RegionAndLangSettings::RegionAndLangSettings(QObject *parent)
++    : RegionAndLangSettingsBase(parent)
++{
++    connect(this, &RegionAndLangSettings::langChanged, this, [this] {
++        this->setLC_Vars(this->lang());
++    });
++}
++
+ bool RegionAndLangSettings::isDefaultSetting(SettingType setting) const
+ {
+     switch (setting) {
+     case SettingType::Lang:
+-        return lang() == defaultLangValue();
++        return lang().isEmpty();
+     case SettingType::Language:
+         return language() == defaultLanguageValue();
+     case SettingType::Numeric:
+@@ -43,14 +51,14 @@ bool RegionAndLangSettings::isDefaultSetting(SettingType setting) const
+ QString RegionAndLangSettings::langWithFallback() const
+ {
+     QString lang = RegionAndLangSettings::lang();
+-    if (!(isDefaultSetting(SettingType::Lang) && lang.isEmpty())) {
+-        if (QString envLang = qEnvironmentVariable("LANG"); !envLang.isEmpty()) {
+-            envLang.replace(QStringLiteral("utf8"), QStringLiteral("UTF-8"));
+-            return envLang;
+-        }
+-        return QLocale::system().name();
++    if (!lang.isEmpty()) {
++        return lang;
++    }
++    if (QString envLang = qEnvironmentVariable("LANG"); !envLang.isEmpty()) {
++        envLang.replace(QStringLiteral("utf8"), QStringLiteral("UTF-8"));
++        return envLang;
+     }
+-    return lang;
++    return QLocale::system().name();
+ }
+ 
+ QString RegionAndLangSettings::LC_LocaleWithLang(SettingType setting) const
+diff --git a/kcms/region_language/regionandlangsettings.h b/kcms/region_language/regionandlangsettings.h
+index aeb570e148..e9f861dff8 100644
+--- a/kcms/region_language/regionandlangsettings.h
++++ b/kcms/region_language/regionandlangsettings.h
+@@ -14,7 +14,7 @@ class RegionAndLangSettings : public RegionAndLangSettingsBase
+ {
+     Q_OBJECT
+ public:
+-    using RegionAndLangSettingsBase::RegionAndLangSettingsBase;
++    RegionAndLangSettings(QObject *parent = nullptr);
+     bool isDefaultSetting(KCM_RegionAndLang::SettingType setting) const;
+     QString langWithFallback() const;
+     QString LC_LocaleWithLang(KCM_RegionAndLang::SettingType setting) const;
+diff --git a/kcms/region_language/regionandlangsettingsbase.kcfg b/kcms/region_language/regionandlangsettingsbase.kcfg
+index 17ac78291a..b7e32c7aed 100644
+--- a/kcms/region_language/regionandlangsettingsbase.kcfg
++++ b/kcms/region_language/regionandlangsettingsbase.kcfg
+@@ -9,10 +9,6 @@
+   <kcfgfile name="plasma-localerc" />
+   <group name="Formats">
+     <entry key="LANG" name="lang" type="String">
+-        <code>
+-            QString lang = QString::fromLocal8Bit(qgetenv("LANG"));
+-        </code>
+-        <default code="true">lang</default>
+     </entry>
+     <entry key="LC_NUMERIC" name="numeric" type="String">
+         <default code="true">i18n("Inherit Language")</default>
+-- 
+GitLab
+
diff -Nru plasma-workspace-6.3.4/debian/patches/upstream_cf206f9d_applets-notifications-never-use-scientific-notation-for-large-numbers.patch plasma-workspace-6.3.5/debian/patches/upstream_cf206f9d_applets-notifications-never-use-scientific-notation-for-large-numbers.patch
--- plasma-workspace-6.3.4/debian/patches/upstream_cf206f9d_applets-notifications-never-use-scientific-notation-for-large-numbers.patch	1970-01-01 01:00:00.000000000 +0100
+++ plasma-workspace-6.3.5/debian/patches/upstream_cf206f9d_applets-notifications-never-use-scientific-notation-for-large-numbers.patch	2025-05-20 08:31:26.000000000 +0200
@@ -0,0 +1,44 @@
+From cf206f9d6714ad6d3aff4d2bdd600ab00f8aee0c Mon Sep 17 00:00:00 2001
+From: Nate Graham <nate@kde.org>
+Date: Sat, 29 Mar 2025 15:35:36 -0600
+Subject: [PATCH] applets/notifications: never use scientific notation for
+ large numbers
+
+Normal people don't know how to read it.
+
+BUG: 422166
+FIXED-IN: 6.4.0
+---
+ .../package/contents/ui/components/JobDetails.qml        | 9 ++++++---
+ 1 file changed, 6 insertions(+), 3 deletions(-)
+
+diff --git a/applets/notifications/package/contents/ui/components/JobDetails.qml b/applets/notifications/package/contents/ui/components/JobDetails.qml
+index 982a1ce34c7..55470d52bd0 100644
+--- a/applets/notifications/package/contents/ui/components/JobDetails.qml
++++ b/applets/notifications/package/contents/ui/components/JobDetails.qml
+@@ -95,7 +95,10 @@ GridLayout {
+             Layout.row: 2 + index
+             Layout.fillWidth: true
+             text: {
+-                var processed = modelInterface.jobDetails["processed" + modelData];
++                let rawProcessed = modelInterface.jobDetails["processed" + modelData];
++                // Format number to not display as exponential
++                processed = rawProcessed.toLocaleString(Qt.locale(), 'f', 0);
++
+                 var total = modelInterface.jobDetails["total" + modelData];
+ 
+                 if (processed > 0 || total > 1) {
+@@ -103,8 +106,8 @@ GridLayout {
+                         switch(modelData) {
+                         case "Bytes":
+                             return i18ndc("plasma_applet_org.kde.plasma.notifications", "How many bytes have been copied", "%2 of %1",
+-                                KCoreAddons.Format.formatByteSize(total),
+-                                KCoreAddons.Format.formatByteSize(processed))
++                                KCoreAddons.Format.formatByteSize(total).toLocaleString(Qt.locale(), 'f', 0),
++                                KCoreAddons.Format.formatByteSize(processed)).toLocaleString(Qt.locale(), 'f', 0)
+                         case "Files":
+                             return i18ndcp("plasma_applet_org.kde.plasma.notifications", "How many files have been copied", "%2 of %1 file", "%2 of %1 files",
+                                           total, processed);
+-- 
+GitLab
+
diff -Nru plasma-workspace-6.3.4/debian/patches/upstream_d4df9b5f_applets-systemmonitor-handle-null-faceController.patch plasma-workspace-6.3.5/debian/patches/upstream_d4df9b5f_applets-systemmonitor-handle-null-faceController.patch
--- plasma-workspace-6.3.4/debian/patches/upstream_d4df9b5f_applets-systemmonitor-handle-null-faceController.patch	1970-01-01 01:00:00.000000000 +0100
+++ plasma-workspace-6.3.5/debian/patches/upstream_d4df9b5f_applets-systemmonitor-handle-null-faceController.patch	2025-05-20 08:31:26.000000000 +0200
@@ -0,0 +1,46 @@
+From d4df9b5f8c388d24e167c5ee8f6be061c1c8de81 Mon Sep 17 00:00:00 2001
+From: Christoph Wolk <cwo.kde@posteo.net>
+Date: Tue, 25 Mar 2025 10:46:10 +0100
+Subject: [PATCH] applets/systemmonitor: handle null faceController
+
+When initially adding a systemmonitor widget to a panel, faceController
+can still be null, causing several TypeErrors.
+
+Instead, use optional chaining and default values to prevent these
+errors until the faceController is loaded.
+---
+ .../systemmonitor/package/contents/ui/main.qml            | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/applets/systemmonitor/systemmonitor/package/contents/ui/main.qml b/applets/systemmonitor/systemmonitor/package/contents/ui/main.qml
+index f41f11d3ddc..6d4480cae8a 100644
+--- a/applets/systemmonitor/systemmonitor/package/contents/ui/main.qml
++++ b/applets/systemmonitor/systemmonitor/package/contents/ui/main.qml
+@@ -59,7 +59,7 @@ PlasmoidItem {
+ 
+     preferredRepresentation: Plasmoid.formFactor === PlasmaCore.Types.Planar ? fullRepresentation : null
+ 
+-    Plasmoid.title: Plasmoid.faceController.title || i18n("System Monitor")
++    Plasmoid.title: Plasmoid.faceController?.title || i18n("System Monitor")
+     toolTipSubText: totalSensor.sensorId ? i18nc("Sensor name: value", "%1: %2", totalSensor.name, totalSensor.formattedValue) : ""
+ 
+     compactRepresentation: CompactRepresentation {
+@@ -67,12 +67,12 @@ PlasmoidItem {
+     fullRepresentation: FullRepresentation {
+     }
+ 
+-    Plasmoid.configurationRequired: Plasmoid.faceController.highPrioritySensorIds.length == 0 && Plasmoid.faceController.lowPrioritySensorIds.length == 0 && Plasmoid.faceController.totalSensors.length == 0
++    Plasmoid.configurationRequired: (Plasmoid.faceController ?? false) && Plasmoid.faceController.highPrioritySensorIds.length == 0 && Plasmoid.faceController.lowPrioritySensorIds.length == 0 && Plasmoid.faceController.totalSensors.length == 0
+ 
+     Sensors.Sensor {
+         id: totalSensor
+-        sensorId: Plasmoid.faceController.totalSensors[0] || ""
+-        updateRateLimit: Plasmoid.faceController.updateRateLimit
++        sensorId: Plasmoid.faceController?.totalSensors[0] || ""
++        updateRateLimit: Plasmoid.faceController?.updateRateLimit
+     }
+ 
+     MouseArea {
+-- 
+GitLab
+
diff -Nru plasma-workspace-6.3.4/debian/patches/upstream_e4e0dee5_libkmpris-allow-MultiplexerModel-to-show-actual-player-name.patch plasma-workspace-6.3.5/debian/patches/upstream_e4e0dee5_libkmpris-allow-MultiplexerModel-to-show-actual-player-name.patch
--- plasma-workspace-6.3.4/debian/patches/upstream_e4e0dee5_libkmpris-allow-MultiplexerModel-to-show-actual-player-name.patch	1970-01-01 01:00:00.000000000 +0100
+++ plasma-workspace-6.3.5/debian/patches/upstream_e4e0dee5_libkmpris-allow-MultiplexerModel-to-show-actual-player-name.patch	2025-05-20 08:31:26.000000000 +0200
@@ -0,0 +1,81 @@
+From e4e0dee55f750d8389a3d975360e6b6351e338f8 Mon Sep 17 00:00:00 2001
+From: Fushan Wen <qydwhotmail@gmail.com>
+Date: Mon, 24 Mar 2025 20:33:47 +0800
+Subject: [PATCH] libkmpris: allow MultiplexerModel to show actual player name
+
+The lock screen needs it to show the actual player name instead of
+"Choose player automatically"
+---
+ .../package/contents/ui/ExpandedRepresentation.qml         | 2 +-
+ libkmpris/autotests/data/tst_MultiplexerModel.qml          | 7 +++----
+ libkmpris/mpris2sourcemodel.cpp                            | 3 +++
+ libkmpris/mpris2sourcemodel.h                              | 1 +
+ libkmpris/multiplexermodel.cpp                             | 4 ++--
+ 5 files changed, 10 insertions(+), 7 deletions(-)
+
+diff --git a/applets/mediacontroller/package/contents/ui/ExpandedRepresentation.qml b/applets/mediacontroller/package/contents/ui/ExpandedRepresentation.qml
+index 8da82392731..8048a54b7ea 100644
+--- a/applets/mediacontroller/package/contents/ui/ExpandedRepresentation.qml
++++ b/applets/mediacontroller/package/contents/ui/ExpandedRepresentation.qml
+@@ -795,7 +795,7 @@ PlasmaExtras.Representation {
+                     display: PlasmaComponents3.AbstractButton.IconOnly
+                     icon.name: model.iconName
+                     icon.height: Kirigami.Units.iconSizes.smallMedium
+-                    text: model.identity
++                    text: model.isMultiplexer ? i18nc("@action:button", "Choose player automatically") : model.identity
+                     // Keep the delegate centered by offsetting the padding removed in the parent
+                     bottomPadding: verticalPadding + headerItem.bottomPadding
+                     topPadding: verticalPadding - headerItem.bottomPadding
+diff --git a/libkmpris/mpris2sourcemodel.cpp b/libkmpris/mpris2sourcemodel.cpp
+index 02d51dd071f..418acfdcd64 100644
+--- a/libkmpris/mpris2sourcemodel.cpp
++++ b/libkmpris/mpris2sourcemodel.cpp
+@@ -98,6 +98,8 @@ QVariant Mpris2SourceModel::dataFromPlayer(PlayerContainer *container, int role)
+         return container->instancePid();
+     case KDEPidRole:
+         return container->kdePid();
++    case IsMultiplexerRole:
++        return false;
+     case ContainerRole:
+         return QVariant::fromValue(container);
+     default:
+@@ -193,6 +195,7 @@ QHash<int, QByteArray> Mpris2SourceModel::roleNames() const
+         {IdentityRole, QByteArrayLiteral("identity")},
+         {IconNameRole, QByteArrayLiteral("iconName")},
+         {KDEPidRole, QByteArrayLiteral("kdePid")},
++        {IsMultiplexerRole, QByteArrayLiteral("isMultiplexer")},
+         {ContainerRole, QByteArrayLiteral("container")},
+     };
+ }
+diff --git a/libkmpris/mpris2sourcemodel.h b/libkmpris/mpris2sourcemodel.h
+index 7ad885faffe..6ed6ca15415 100644
+--- a/libkmpris/mpris2sourcemodel.h
++++ b/libkmpris/mpris2sourcemodel.h
+@@ -55,6 +55,7 @@ public:
+         IconNameRole,
+         InstancePidRole,
+         KDEPidRole,
++        IsMultiplexerRole,
+     };
+     Q_ENUM(Role)
+ 
+diff --git a/libkmpris/multiplexermodel.cpp b/libkmpris/multiplexermodel.cpp
+index 670aa5cd34f..9367d4b9df2 100644
+--- a/libkmpris/multiplexermodel.cpp
++++ b/libkmpris/multiplexermodel.cpp
+@@ -71,10 +71,10 @@ QVariant MultiplexerModel::data(const QModelIndex &index, int role) const
+     }
+ 
+     switch (role) {
+-    case Mpris2SourceModel::IdentityRole:
+-        return i18nc("@action:button", "Choose player automatically");
+     case Mpris2SourceModel::IconNameRole:
+         return QStringLiteral("emblem-favorite");
++    case Mpris2SourceModel::IsMultiplexerRole:
++        return true;
+     default:
+         return Mpris2SourceModel::dataFromPlayer(m_activePlayer, role);
+     }
+-- 
+GitLab
+
diff -Nru plasma-workspace-6.3.4/debian/patches/upstream_f17c2546_applets-systemtray-Open-context-menu-on-click-when-ItemIsMenu.patch plasma-workspace-6.3.5/debian/patches/upstream_f17c2546_applets-systemtray-Open-context-menu-on-click-when-ItemIsMenu.patch
--- plasma-workspace-6.3.4/debian/patches/upstream_f17c2546_applets-systemtray-Open-context-menu-on-click-when-ItemIsMenu.patch	1970-01-01 01:00:00.000000000 +0100
+++ plasma-workspace-6.3.5/debian/patches/upstream_f17c2546_applets-systemtray-Open-context-menu-on-click-when-ItemIsMenu.patch	2025-05-20 08:31:26.000000000 +0200
@@ -0,0 +1,33 @@
+From f17c2546f6c67e5636a4ccab2519ea50c2ed2bce Mon Sep 17 00:00:00 2001
+From: Kai Uwe Broulik <kde@privat.broulik.de>
+Date: Sat, 22 Mar 2025 18:22:35 +0100
+Subject: [PATCH] applets/systemtray: Open context menu on click when
+ ItemIsMenu
+
+As per StatusNotifierItem spec:
+
+> The item only support the context menu, the visualization should
+prefer showing the menu or sending ContextMenu() instead of Activate()
+---
+ .../package/contents/ui/items/StatusNotifierItem.qml         | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/applets/systemtray/package/contents/ui/items/StatusNotifierItem.qml b/applets/systemtray/package/contents/ui/items/StatusNotifierItem.qml
+index bd153d97731..6b683077a1b 100644
+--- a/applets/systemtray/package/contents/ui/items/StatusNotifierItem.qml
++++ b/applets/systemtray/package/contents/ui/items/StatusNotifierItem.qml
+@@ -42,6 +42,11 @@ AbstractItem {
+     }
+ 
+     onActivated: pos => {
++        if (model.ItemIsMenu) {
++            openContextMenu(pos);
++            return;
++        }
++
+         const service = model.Service;
+         const operation = service.operationDescription("Activate");
+         operation.x = pos.x; //mouseX
+-- 
+GitLab
+
diff -Nru plasma-workspace-6.3.4/debian/patches/upstream_fbb2e6d3_users-kcm-Fix-issue-in-sorting-user-list.patch plasma-workspace-6.3.5/debian/patches/upstream_fbb2e6d3_users-kcm-Fix-issue-in-sorting-user-list.patch
--- plasma-workspace-6.3.4/debian/patches/upstream_fbb2e6d3_users-kcm-Fix-issue-in-sorting-user-list.patch	1970-01-01 01:00:00.000000000 +0100
+++ plasma-workspace-6.3.5/debian/patches/upstream_fbb2e6d3_users-kcm-Fix-issue-in-sorting-user-list.patch	2025-05-20 08:31:26.000000000 +0200
@@ -0,0 +1,32 @@
+From fbb2e6d36adcafafb83250c853c0d7e47104db79 Mon Sep 17 00:00:00 2001
+From: Sune Vuorela <sune@vuorela.dk>
+Date: Thu, 13 Feb 2025 19:28:40 +0000
+Subject: [PATCH] users kcm: Fix issue in sorting user list
+
+If two users are logged in, the sorting order is not stable, both should be sorted before the other
+
+Use partition instead of sorting, since we only care about having moved logged in users up front.
+
+Found by: Kamil Kaznowski
+---
+ kcms/users/src/usermodel.cpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/kcms/users/src/usermodel.cpp b/kcms/users/src/usermodel.cpp
+index 9b3fc0fd97..8be299659b 100644
+--- a/kcms/users/src/usermodel.cpp
++++ b/kcms/users/src/usermodel.cpp
+@@ -82,8 +82,8 @@ UserModel::UserModel(QObject *parent)
+         m_userList.append(user);
+     }
+ 
+-    std::ranges::sort(m_userList, [](User *lhs, User *) {
+-        return lhs->loggedIn();
++    std::ranges::stable_partition(m_userList, [](User *u) {
++        return u->loggedIn();
+     });
+ 
+     connect(this, &QAbstractItemModel::rowsInserted, this, &UserModel::moreThanOneAdminUserChanged);
+-- 
+GitLab
+
diff -Nru plasma-workspace-6.3.4/geotimezoned/geotimezoned.json plasma-workspace-6.3.5/geotimezoned/geotimezoned.json
--- plasma-workspace-6.3.4/geotimezoned/geotimezoned.json	2025-04-02 05:38:23.000000000 +0200
+++ plasma-workspace-6.3.5/geotimezoned/geotimezoned.json	2025-05-06 19:59:32.000000000 +0200
@@ -17,6 +17,7 @@
         "Description[is]": "Breyta sjálfvirkt tímabelti kerfis út frá fyrirliggjandi staðsetningu",
         "Description[it]": "Cambia automaticamente il fuso orario del sistema in base alla posizione attuale",
         "Description[ka]": "სისტემური დროის სარტყლის ავტომატური შეცვლა მიმდინარე მდებარეობის მიხედვით",
+        "Description[ko]": "현재 위치에 따라서 현재 시스템 시간대를 자동으로 변경",
         "Description[lt]": "Automatiškai keisti sistemos laiko juostą remiantis dabartine vietove",
         "Description[nb]": "Endre systemtidssona automatisk etter gjeldende plassering",
         "Description[nl]": "Automatisch de systeemtijdzone wijzigen gebaseerd op de huidige locatie",
@@ -47,6 +48,7 @@
         "Name[is]": "Tímabelti kerfis byggt á staðsetningu",
         "Name[it]": "Fuso orario del sistema in base alla posizione",
         "Name[ka]": "მდებარეობაზე დამოკიდებული სისტემური დროის სარტყელი",
+        "Name[ko]": "위치 기반 시스템 시간대",
         "Name[lt]": "Vietove pagrįsta sistemos laiko juosta",
         "Name[nb]": "Systemtidssone etter plassering",
         "Name[nl]": "Op locatie gebaseerde systeemtijdzone",
diff -Nru plasma-workspace-6.3.4/libnotificationmanager/autotests/notifications_test.cpp plasma-workspace-6.3.5/libnotificationmanager/autotests/notifications_test.cpp
--- plasma-workspace-6.3.4/libnotificationmanager/autotests/notifications_test.cpp	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/libnotificationmanager/autotests/notifications_test.cpp	2025-05-06 19:59:32.000000000 +0200
@@ -63,11 +63,14 @@
     //more bad formatted options. To some extent actual output doesn't matter. Garbage in, garbage out.
     //the important thing is that it doesn't contain anything that could be parsed as the remote URL
     QTest::newRow("image remote URL no close") << "This is <img src=\"http://foo.com/boo.png>\" alt=\"cheese\">  and more text" << "This is <img alt=\"cheese\"> and more text</img>";
-    QTest::newRow("image remote URL double open") << "This is <<img src=\"http://foo.com/boo.png>\"  and more text" << "This is ";
+    QTest::newRow("image remote URL double open") << "This is <<img src=\"http://foo.com/boo.png>\"  and more text" << "This is &lt;";
     QTest::newRow("image remote URL no entity close") << "This is <img src=\"http://foo.com/boo.png\";  and more text" << "This is ";
-    QTest::newRow("image remote URL space in element name") << "This is < img src=\"http://foo.com/boo.png\"; alt=\"cheese\" /> and more text" << "This is ";
+    QTest::newRow("image remote URL space in element name") << "This is < img src=\"http://foo.com/boo.png\"; alt=\"cheese\" /> and more text" << "This is &lt; img src=&quot;http://foo.com/boo.png&quot; alt=&quot;cheese&quot; /&gt; and more text";
 
     QTest::newRow("link") << "This is a link <a href=\"http://foo.com/boo\"/> and more text" << "This is a link <a href=\"http://foo.com/boo\"/> and more text";
+
+    QTest::newRow("text with lessThan symbol inside of it") << "i <3 KDE" << "i &lt;3 KDE";
+    QTest::newRow("text with url and less than and greater than symbol") << "<a href=\"http://foo.com/boo\";>kde</a> <3>" << "<a href=\"http://foo.com/boo\";>kde</a> &lt;3&gt;";
     // clang-format on
 }
 
diff -Nru plasma-workspace-6.3.4/libnotificationmanager/libnotificationmanager.notifyrc plasma-workspace-6.3.5/libnotificationmanager/libnotificationmanager.notifyrc
--- plasma-workspace-6.3.4/libnotificationmanager/libnotificationmanager.notifyrc	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/libnotificationmanager/libnotificationmanager.notifyrc	2025-05-06 19:59:32.000000000 +0200
@@ -20,6 +20,7 @@
 Name[it]=Gestore delle notifiche
 Name[ja]=通知メッセージ
 Name[ka]=გაფრთხილებების მმართველი
+Name[ko]=알림 관리자
 Name[lt]=Pranešimų tvarkytuvė
 Name[nb]=Varslingsbehandler
 Name[nl]=Beheerder van meldingen
@@ -57,6 +58,7 @@
 Name[it]=Riepilogo per le notifiche inibite non lette
 Name[ja]=未読の妨げられた通知の要約
 Name[ka]=შეჯამება წაუკითხავი დადუმებული გაფრთხილებებისთვის
+Name[ko]=읽지 않은 차단된 알림 요약
 Name[lt]=Neskaitytų užslopintų pranešimų santrauka
 Name[nb]=Sammendrag over uleste hindrede varsler
 Name[nl]=Samenvatting van ongelezen onderdrukte meldingen
diff -Nru plasma-workspace-6.3.4/libnotificationmanager/notification.cpp plasma-workspace-6.3.5/libnotificationmanager/notification.cpp
--- plasma-workspace-6.3.4/libnotificationmanager/notification.cpp	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/libnotificationmanager/notification.cpp	2025-05-06 19:59:32.000000000 +0200
@@ -57,6 +57,15 @@
     static const QRegularExpression escapeExpr(QStringLiteral("&(?!(?:apos|quot|[gl]t|amp);|#)"));
     t.replace(escapeExpr, QLatin1String("&amp;"));
 
+    // If the < or > is not followed or preceded by text or "/", escape it.
+    // This nightmarish RegExp matches the < or >, then captures whatever is after/before it.
+    // We then replace the match with the corresponding symbol, and add the captured bit back.
+    static const QRegularExpression ltExpr(QStringLiteral("<([^\\/,a-zA-Z])"));
+    t.replace(ltExpr, QLatin1String("&lt;\\1"));
+    // Check for " in case the item is something like <img src="bla">
+    static const QRegularExpression gtExpr(QStringLiteral("([^\\/,a-zA-Z,\"])>"));
+    t.replace(gtExpr, QLatin1String("\\1&gt;"));
+
     // Don't bother adding some HTML structure if the body is now empty
     if (t.isEmpty()) {
         return t;
diff -Nru plasma-workspace-6.3.4/po/ar/kcm_notifications.po plasma-workspace-6.3.5/po/ar/kcm_notifications.po
--- plasma-workspace-6.3.4/po/ar/kcm_notifications.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/ar/kcm_notifications.po	2025-05-06 19:59:32.000000000 +0200
@@ -1,13 +1,13 @@
 # Copyright (C) 2024 This file is copyright:
 # This file is distributed under the same license as the plasma-workspace package.
+# SPDX-FileCopyrightText: 2021, 2022, 2024, 2025 Zayed Al-Saidi <zayed.alsaidi@gmail.com>
 #
-# SPDX-FileCopyrightText: 2021, 2022, 2024 Zayed Al-Saidi <zayed.alsaidi@gmail.com>
 msgid ""
 msgstr ""
 "Project-Id-Version: plasma-workspace\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
 "POT-Creation-Date: 2025-01-14 02:36+0000\n"
-"PO-Revision-Date: 2024-07-28 12:20+0400\n"
+"PO-Revision-Date: 2025-04-18 16:08+0400\n"
 "Last-Translator: Zayed Al-Saidi <zayed.alsaidi@gmail.com>\n"
 "Language-Team: ar\n"
 "Language: ar\n"
@@ -92,7 +92,7 @@
 #, kde-format
 msgctxt "@action:button Plasma-specific notifications"
 msgid "System Notifications"
-msgstr "إخطارات النّظام"
+msgstr "إشعارات النّظام"
 
 #: ui/main.qml:52
 #, kde-format
diff -Nru plasma-workspace-6.3.4/po/ar/plasma_applet_org.kde.plasma.mediacontroller.po plasma-workspace-6.3.5/po/ar/plasma_applet_org.kde.plasma.mediacontroller.po
--- plasma-workspace-6.3.4/po/ar/plasma_applet_org.kde.plasma.mediacontroller.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/ar/plasma_applet_org.kde.plasma.mediacontroller.po	2025-05-06 19:59:32.000000000 +0200
@@ -8,7 +8,7 @@
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
 "POT-Creation-Date: 2024-01-23 00:39+0000\n"
-"PO-Revision-Date: 2024-01-17 21:06+0400\n"
+"PO-Revision-Date: 2025-04-18 21:32+0400\n"
 "Last-Translator: Zayed Al-Saidi <zayed.alsaidi@gmail.com>\n"
 "Language-Team: ar\n"
 "Language: ar\n"
@@ -90,7 +90,8 @@
 "Scroll to adjust volume"
 msgstr ""
 "بواسطة %1 (%2)\n"
-"انقر بالزر الأوسط اللبثتمرير لضبط الصوت"
+"انقر بالزر الأوسط اللبث\n"
+"مرّر بالفأرة للتحكم بالصوت"
 
 #: package/contents/ui/main.qml:58
 #, kde-format
@@ -111,9 +112,9 @@
 "Middle-click to play\n"
 "Scroll to adjust volume"
 msgstr ""
-"بواسطة %1 (ملبث، %2)\n"
+"بواسطة %1 (مُلبث، %2)\n"
 "انقر بالزر الأوسط للتشغيل\n"
-"تمرير لضبط الصوت"
+"مرّر بالفأرة للتحكم بالصوت"
 
 #: package/contents/ui/main.qml:61
 #, kde-format
@@ -125,7 +126,7 @@
 msgstr ""
 "ملبث (%1)\n"
 "انقر بالزر الأوسط للتشغيل\n"
-"تمرير لضبط الصوت"
+"مرّر بالفأرة للتحكم بالصوت"
 
 #: package/contents/ui/main.qml:104
 #, kde-format
diff -Nru plasma-workspace-6.3.4/po/ar/plasmashellprivateplugin.po plasma-workspace-6.3.5/po/ar/plasmashellprivateplugin.po
--- plasma-workspace-6.3.4/po/ar/plasmashellprivateplugin.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/ar/plasmashellprivateplugin.po	2025-05-06 19:59:32.000000000 +0200
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2025-01-04 00:42+0000\n"
+"POT-Creation-Date: 2025-04-23 02:36+0000\n"
 "PO-Revision-Date: 2025-01-09 09:39+0400\n"
 "Last-Translator: Zayed Al-Saidi <zayed.alsaidi@gmail.com>\n"
 "Language-Team: ar\n"
@@ -64,7 +64,7 @@
 msgid "Other"
 msgstr "أخرى"
 
-#: calendar/qml/DayDelegate.qml:95
+#: calendar/qml/DayDelegate.qml:96
 #, kde-format
 msgid "%1 event"
 msgid_plural "%1 events"
@@ -75,7 +75,7 @@
 msgstr[4] "%1 حدثًا"
 msgstr[5] "%1 حدث"
 
-#: calendar/qml/DayDelegate.qml:96
+#: calendar/qml/DayDelegate.qml:97
 #, kde-format
 msgid "No events"
 msgstr "لا أحداث"
diff -Nru plasma-workspace-6.3.4/po/ast/plasmashellprivateplugin.po plasma-workspace-6.3.5/po/ast/plasmashellprivateplugin.po
--- plasma-workspace-6.3.4/po/ast/plasmashellprivateplugin.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/ast/plasmashellprivateplugin.po	2025-05-06 19:59:32.000000000 +0200
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: plasma-workspace\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2025-01-04 00:42+0000\n"
+"POT-Creation-Date: 2025-04-23 02:36+0000\n"
 "PO-Revision-Date: 2024-03-15 01:17+0100\n"
 "Last-Translator: Enol P. <enolp@softastur.org>\n"
 "Language-Team: Asturian <alministradores@softastur.org>\n"
@@ -62,14 +62,14 @@
 msgid "Other"
 msgstr ""
 
-#: calendar/qml/DayDelegate.qml:95
+#: calendar/qml/DayDelegate.qml:96
 #, kde-format
 msgid "%1 event"
 msgid_plural "%1 events"
 msgstr[0] "%1 eventu"
 msgstr[1] "%1 eventos"
 
-#: calendar/qml/DayDelegate.qml:96
+#: calendar/qml/DayDelegate.qml:97
 #, kde-format
 msgid "No events"
 msgstr ""
diff -Nru plasma-workspace-6.3.4/po/az/plasmashellprivateplugin.po plasma-workspace-6.3.5/po/az/plasmashellprivateplugin.po
--- plasma-workspace-6.3.4/po/az/plasmashellprivateplugin.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/az/plasmashellprivateplugin.po	2025-05-06 19:59:32.000000000 +0200
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: plasma-workspace\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2025-01-04 00:42+0000\n"
+"POT-Creation-Date: 2025-04-23 02:36+0000\n"
 "PO-Revision-Date: 2024-06-11 16:35+0400\n"
 "Last-Translator: Kheyyam Godjayev <xxmn77@gmail.com>\n"
 "Language-Team: Azerbaijani <kde-i18n-doc@kde.org>\n"
@@ -63,14 +63,14 @@
 msgid "Other"
 msgstr "Digər"
 
-#: calendar/qml/DayDelegate.qml:95
+#: calendar/qml/DayDelegate.qml:96
 #, kde-format
 msgid "%1 event"
 msgid_plural "%1 events"
 msgstr[0] "%1 tətbir"
 msgstr[1] "%1 tədbir"
 
-#: calendar/qml/DayDelegate.qml:96
+#: calendar/qml/DayDelegate.qml:97
 #, kde-format
 msgid "No events"
 msgstr "Heç bir tətbiq yoxdur"
diff -Nru plasma-workspace-6.3.4/po/be/plasmashellprivateplugin.po plasma-workspace-6.3.5/po/be/plasmashellprivateplugin.po
--- plasma-workspace-6.3.4/po/be/plasmashellprivateplugin.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/be/plasmashellprivateplugin.po	2025-05-06 19:59:32.000000000 +0200
@@ -3,7 +3,7 @@
 msgstr ""
 "Project-Id-Version: fc57ad16a28d02dea100ceb1c60de14e\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2025-01-04 00:42+0000\n"
+"POT-Creation-Date: 2025-04-23 02:36+0000\n"
 "PO-Revision-Date: 2024-11-06 22:00\n"
 "Last-Translator: Zmicier <zmicerturok@gmail.com>\n"
 "Language-Team: Belarusian\n"
@@ -67,7 +67,7 @@
 msgid "Other"
 msgstr "Іншы"
 
-#: calendar/qml/DayDelegate.qml:95
+#: calendar/qml/DayDelegate.qml:96
 #, kde-format
 msgid "%1 event"
 msgid_plural "%1 events"
@@ -76,7 +76,7 @@
 msgstr[2] "%1 падзей"
 msgstr[3] "%1 падзеі"
 
-#: calendar/qml/DayDelegate.qml:96
+#: calendar/qml/DayDelegate.qml:97
 #, kde-format
 msgid "No events"
 msgstr "Няма падзей"
diff -Nru plasma-workspace-6.3.4/po/bg/plasmashellprivateplugin.po plasma-workspace-6.3.5/po/bg/plasmashellprivateplugin.po
--- plasma-workspace-6.3.4/po/bg/plasmashellprivateplugin.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/bg/plasmashellprivateplugin.po	2025-05-06 19:59:32.000000000 +0200
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: plasma-workspace\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2025-01-04 00:42+0000\n"
+"POT-Creation-Date: 2025-04-23 02:36+0000\n"
 "PO-Revision-Date: 2025-01-07 23:18+0100\n"
 "Last-Translator: Mincho Kondarev <mkondarev@yahoo.de>\n"
 "Language-Team: Bulgarian <kde-i18n-doc@kde.org>\n"
@@ -62,14 +62,14 @@
 msgid "Other"
 msgstr "Други"
 
-#: calendar/qml/DayDelegate.qml:95
+#: calendar/qml/DayDelegate.qml:96
 #, kde-format
 msgid "%1 event"
 msgid_plural "%1 events"
 msgstr[0] "%1 събитие"
 msgstr[1] "%1 събития"
 
-#: calendar/qml/DayDelegate.qml:96
+#: calendar/qml/DayDelegate.qml:97
 #, kde-format
 msgid "No events"
 msgstr "Няма събития"
diff -Nru plasma-workspace-6.3.4/po/bs/plasmashellprivateplugin.po plasma-workspace-6.3.5/po/bs/plasmashellprivateplugin.po
--- plasma-workspace-6.3.4/po/bs/plasmashellprivateplugin.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/bs/plasmashellprivateplugin.po	2025-05-06 19:59:32.000000000 +0200
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: bosnianuniversetranslation\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2025-01-04 00:42+0000\n"
+"POT-Creation-Date: 2025-04-23 02:36+0000\n"
 "PO-Revision-Date: 2014-12-28 11:50+0000\n"
 "Last-Translator: Fadil Ademovic <fademovic2@etf.unsa.ba>\n"
 "Language-Team: Bosnian <bs@li.org>\n"
@@ -65,7 +65,7 @@
 msgid "Other"
 msgstr ""
 
-#: calendar/qml/DayDelegate.qml:95
+#: calendar/qml/DayDelegate.qml:96
 #, kde-format
 msgid "%1 event"
 msgid_plural "%1 events"
@@ -73,7 +73,7 @@
 msgstr[1] ""
 msgstr[2] ""
 
-#: calendar/qml/DayDelegate.qml:96
+#: calendar/qml/DayDelegate.qml:97
 #, kde-format
 msgid "No events"
 msgstr ""
diff -Nru plasma-workspace-6.3.4/po/ca/plasmashellprivateplugin.po plasma-workspace-6.3.5/po/ca/plasmashellprivateplugin.po
--- plasma-workspace-6.3.4/po/ca/plasmashellprivateplugin.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/ca/plasmashellprivateplugin.po	2025-05-06 19:59:32.000000000 +0200
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: plasma-workspace\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2025-01-04 00:42+0000\n"
+"POT-Creation-Date: 2025-04-23 02:36+0000\n"
 "PO-Revision-Date: 2025-01-04 10:09+0100\n"
 "Last-Translator: Josep M. Ferrer <txemaq@gmail.com>\n"
 "Language-Team: Catalan <kde-i18n-ca@kde.org>\n"
@@ -66,14 +66,14 @@
 msgid "Other"
 msgstr "Altres"
 
-#: calendar/qml/DayDelegate.qml:95
+#: calendar/qml/DayDelegate.qml:96
 #, kde-format
 msgid "%1 event"
 msgid_plural "%1 events"
 msgstr[0] "%1 esdeveniment"
 msgstr[1] "%1 esdeveniments"
 
-#: calendar/qml/DayDelegate.qml:96
+#: calendar/qml/DayDelegate.qml:97
 #, kde-format
 msgid "No events"
 msgstr "Cap esdeveniment"
diff -Nru plasma-workspace-6.3.4/po/ca@valencia/plasmashellprivateplugin.po plasma-workspace-6.3.5/po/ca@valencia/plasmashellprivateplugin.po
--- plasma-workspace-6.3.4/po/ca@valencia/plasmashellprivateplugin.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/ca@valencia/plasmashellprivateplugin.po	2025-05-06 19:59:32.000000000 +0200
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: plasma-workspace\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2025-01-04 00:42+0000\n"
+"POT-Creation-Date: 2025-04-23 02:36+0000\n"
 "PO-Revision-Date: 2025-01-04 10:09+0100\n"
 "Last-Translator: Josep M. Ferrer <txemaq@gmail.com>\n"
 "Language-Team: Catalan <kde-i18n-ca@kde.org>\n"
@@ -66,14 +66,14 @@
 msgid "Other"
 msgstr "Altres"
 
-#: calendar/qml/DayDelegate.qml:95
+#: calendar/qml/DayDelegate.qml:96
 #, kde-format
 msgid "%1 event"
 msgid_plural "%1 events"
 msgstr[0] "%1 esdeveniment"
 msgstr[1] "%1 esdeveniments"
 
-#: calendar/qml/DayDelegate.qml:96
+#: calendar/qml/DayDelegate.qml:97
 #, kde-format
 msgid "No events"
 msgstr "Cap esdeveniment"
diff -Nru plasma-workspace-6.3.4/po/cs/plasmashellprivateplugin.po plasma-workspace-6.3.5/po/cs/plasmashellprivateplugin.po
--- plasma-workspace-6.3.4/po/cs/plasmashellprivateplugin.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/cs/plasmashellprivateplugin.po	2025-05-06 19:59:32.000000000 +0200
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2025-01-04 00:42+0000\n"
+"POT-Creation-Date: 2025-04-23 02:36+0000\n"
 "PO-Revision-Date: 2024-08-30 16:31+0200\n"
 "Last-Translator: Vit Pelcak <vit@pelcak.org>\n"
 "Language-Team: Czech <kde-i18n-doc@kde.org>\n"
@@ -63,7 +63,7 @@
 msgid "Other"
 msgstr "Jiné"
 
-#: calendar/qml/DayDelegate.qml:95
+#: calendar/qml/DayDelegate.qml:96
 #, kde-format
 msgid "%1 event"
 msgid_plural "%1 events"
@@ -71,7 +71,7 @@
 msgstr[1] "%1 události"
 msgstr[2] "%1 událostí"
 
-#: calendar/qml/DayDelegate.qml:96
+#: calendar/qml/DayDelegate.qml:97
 #, kde-format
 msgid "No events"
 msgstr "Žádné události"
diff -Nru plasma-workspace-6.3.4/po/da/plasmashellprivateplugin.po plasma-workspace-6.3.5/po/da/plasmashellprivateplugin.po
--- plasma-workspace-6.3.4/po/da/plasmashellprivateplugin.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/da/plasmashellprivateplugin.po	2025-05-06 19:59:32.000000000 +0200
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2025-01-04 00:42+0000\n"
+"POT-Creation-Date: 2025-04-23 02:36+0000\n"
 "PO-Revision-Date: 2024-10-26 11:40+0200\n"
 "Last-Translator: rasmus rosendahl-kaa <rasmus@rosendahl-kaa.name>\n"
 "Language-Team: Danish <kde-i18n-doc@kde.org>\n"
@@ -63,14 +63,14 @@
 msgid "Other"
 msgstr "Andre"
 
-#: calendar/qml/DayDelegate.qml:95
+#: calendar/qml/DayDelegate.qml:96
 #, kde-format
 msgid "%1 event"
 msgid_plural "%1 events"
 msgstr[0] "%1 begivenhed"
 msgstr[1] "%1 begivenheder"
 
-#: calendar/qml/DayDelegate.qml:96
+#: calendar/qml/DayDelegate.qml:97
 #, kde-format
 msgid "No events"
 msgstr "Ingen begivenheder"
diff -Nru plasma-workspace-6.3.4/po/de/kcm_colors.po plasma-workspace-6.3.5/po/de/kcm_colors.po
--- plasma-workspace-6.3.4/po/de/kcm_colors.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/de/kcm_colors.po	2025-05-06 19:59:32.000000000 +0200
@@ -1,3 +1,4 @@
+# SPDX-FileCopyrightText: 2025 Flori G <Renner03@protonmail.com>
 # Thomas Diehl <thd@kde.org>, 2002, 2003, 2004.
 # Stephan Johach <hunsum@gmx.de>, 2005, 2006.
 # Thomas Reitelbach <tr@erdfunkstelle.de>, 2005, 2006, 2007, 2008, 2009, 2010.
@@ -11,15 +12,15 @@
 "Project-Id-Version: kcm_colors\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
 "POT-Creation-Date: 2024-11-21 00:42+0000\n"
-"PO-Revision-Date: 2023-08-13 16:26+0200\n"
-"Last-Translator: Frederik Schwarzer <schwarzer@kde.org>\n"
+"PO-Revision-Date: 2025-04-15 02:34+0200\n"
+"Last-Translator: Flori G <Renner03@protonmail.com>\n"
 "Language-Team: German <kde-i18n-de@kde.org>\n"
 "Language: de\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Lokalize 23.11.70\n"
+"X-Generator: Lokalize 24.12.3\n"
 
 #, kde-format
 msgctxt "NAME OF TRANSLATORS"
@@ -453,9 +454,7 @@
 #. i18n: 'Common' here means &quot;frequent/not rare&quot;, not &quot;shared&quot;
 #. i18n: ectx: property (text), item, widget (QComboBox, colorSet)
 #: editor/scmeditorcolors.ui:40
-#, fuzzy, kde-format
-#| msgctxt "color-sets"
-#| msgid "Common Colors"
+#, kde-format
 msgctxt "color-sets"
 msgid "Common colors"
 msgstr "Allgemeine Farben"
@@ -1257,25 +1256,19 @@
 msgstr " * %1 (Aktuelles Farbschema)"
 
 #: ui/AccentColorUI.qml:27
-#, fuzzy, kde-format
-#| msgctxt "@item:inlistbox Accent color from color scheme"
-#| msgid "Accent Color From Color Scheme"
+#, kde-format
 msgctxt "@item:inlistbox Accent color from color scheme"
 msgid "Accent color from color scheme"
 msgstr "Akzentfarbe aus dem Farbschema"
 
 #: ui/AccentColorUI.qml:28
-#, fuzzy, kde-format
-#| msgctxt "@item:inlistbox Accent color from wallpaper"
-#| msgid "Accent Color From Wallpaper"
+#, kde-format
 msgctxt "@item:inlistbox Accent color from wallpaper"
 msgid "Accent color from wallpaper"
 msgstr "Akzentfarbe aus dem Hintergrundbild"
 
 #: ui/AccentColorUI.qml:29
-#, fuzzy, kde-format
-#| msgctxt "@item:inlistbox User-chosen custom accent color"
-#| msgid "Custom Accent Color"
+#, kde-format
 msgctxt "@item:inlistbox User-chosen custom accent color"
 msgid "Custom accent color"
 msgstr "Benutzerdefinierte Akzentfarbe"
@@ -1294,22 +1287,19 @@
 "Standardschema installiert."
 
 #: ui/main.qml:123
-#, fuzzy, kde-format
-#| msgid "All Schemes"
+#, kde-format
 msgctxt "@item:inlistbox filter displayed schemes"
 msgid "All schemes"
 msgstr "Alle Schemata"
 
 #: ui/main.qml:124
-#, fuzzy, kde-format
-#| msgid "Light Schemes"
+#, kde-format
 msgctxt "@item:inlistbox filter displayed schemes"
 msgid "Light schemes"
 msgstr "Helle Schemata"
 
 #: ui/main.qml:125
-#, fuzzy, kde-format
-#| msgid "Dark Schemes"
+#, kde-format
 msgctxt "@item:inlistbox filter displayed schemes"
 msgid "Dark schemes"
 msgstr "Dunkle Schemata"
diff -Nru plasma-workspace-6.3.4/po/de/kded_geotimezoned.po plasma-workspace-6.3.5/po/de/kded_geotimezoned.po
--- plasma-workspace-6.3.4/po/de/kded_geotimezoned.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/de/kded_geotimezoned.po	2025-05-06 19:59:32.000000000 +0200
@@ -1,22 +1,24 @@
+# SPDX-FileCopyrightText: 2025 Flori G <Renner03@protonmail.com>
 msgid ""
 msgstr ""
 "Project-Id-Version: kded_geotimezoned\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
 "POT-Creation-Date: 2025-01-10 02:00+0000\n"
-"PO-Revision-Date: 2025-01-12 18:12+0100\n"
-"Last-Translator: Simulacrum\n"
+"PO-Revision-Date: 2025-02-21 18:38+0100\n"
+"Last-Translator: Flori G <Renner03@protonmail.com>\n"
 "Language-Team: German <kde-i18n-de@kde.org>\n"
 "Language: de\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Lokalize 24.12.2\n"
 
 #: geotimezonemodule.cpp:187
 #, kde-format
 msgctxt "OSD, keep short"
 msgid "Time zone changed to %1"
-msgstr ""
+msgstr "Zeitzone auf %1 gestellt"
 
 #: geotimezonemodule.cpp:190
 #, kde-format
@@ -24,14 +26,14 @@
 "System clock was changed due to time zone change OSD, keep short: new time "
 "(time zone)"
 msgid "Clock changed to %1 (%2)"
-msgstr ""
+msgstr "Uhr umgestellt auf %1 (%2)"
 
 #: geotimezonemodule.cpp:206
 #, kde-format
 msgid "Refresh is already in progress."
-msgstr ""
+msgstr "Aktualisierung läuft bereits."
 
 #: geotimezonemodule.cpp:269
 #, kde-format
 msgid "Received no or an invalid time zone."
-msgstr ""
+msgstr "Es wurde keine oder eine ungültige Zeitzone empfangen."
diff -Nru plasma-workspace-6.3.4/po/de/klipper.po plasma-workspace-6.3.5/po/de/klipper.po
--- plasma-workspace-6.3.4/po/de/klipper.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/de/klipper.po	2025-05-06 19:59:32.000000000 +0200
@@ -1,4 +1,4 @@
-# SPDX-FileCopyrightText: 2024 Flori G <Renner03@protonmail.com>
+# SPDX-FileCopyrightText: 2024, 2025 Flori G <Renner03@protonmail.com>
 # Thomas Diehl <thd@kde.org>, 2002, 2003, 2004.
 # Stephan Johach <hunsum@gmx.de>, 2005, 2006.
 # Thomas Reitelbach <tr@erdfunkstelle.de>, 2005, 2006, 2007, 2008, 2009, 2010.
@@ -11,7 +11,7 @@
 "Project-Id-Version: klipper\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
 "POT-Creation-Date: 2025-02-26 02:36+0000\n"
-"PO-Revision-Date: 2024-09-23 17:27+0200\n"
+"PO-Revision-Date: 2025-02-21 18:43+0100\n"
 "Last-Translator: Flori G <Renner03@protonmail.com>\n"
 "Language-Team: German <kde-i18n-de@kde.org>\n"
 "Language: de\n"
@@ -19,7 +19,7 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Lokalize 24.08.1\n"
+"X-Generator: Lokalize 24.12.2\n"
 
 #, kde-format
 msgctxt "NAME OF TRANSLATORS"
@@ -37,15 +37,12 @@
 msgstr "Verlauf der Zwischenablage:"
 
 #: configdialog.cpp:89
-#, fuzzy, kde-format
-#| msgctxt "Number of entries"
-#| msgid " entry"
-#| msgid_plural " entries"
+#, kde-format
 msgctxt "Number of entries"
 msgid "%v entry"
 msgid_plural "%v entries"
-msgstr[0] " Eintrag"
-msgstr[1] " Einträge"
+msgstr[0] "%v Eintrag"
+msgstr[1] "%v Einträge"
 
 #: configdialog.cpp:98
 #, kde-format
@@ -146,15 +143,12 @@
 msgstr "Fenster ausschließen …"
 
 #: configdialog.cpp:295
-#, fuzzy, kde-format
-#| msgctxt "Unit of time"
-#| msgid " second"
-#| msgid_plural " seconds"
+#, kde-format
 msgctxt "Unit of time"
 msgid "%v second"
 msgid_plural "%v seconds"
-msgstr[0] " Sekunde"
-msgstr[1] " Sekunden"
+msgstr[0] "%v Sekunde"
+msgstr[1] "%v Sekunden"
 
 #: configdialog.cpp:296
 #, kde-format
@@ -375,13 +369,13 @@
 #, kde-format
 msgctxt "@action:button"
 msgid "Collapse"
-msgstr ""
+msgstr "Einklappen"
 
 #: declarative/qml/ClipboardItemDelegate.qml:180
 #, kde-format
 msgctxt "@action:button"
 msgid "Expand"
-msgstr ""
+msgstr "Ausklappen"
 
 #: declarative/qml/ClipboardMenu.qml:191
 #, kde-format
@@ -647,11 +641,10 @@
 msgstr "Bisherigen Inhalt der Zwischenablage löschen"
 
 #: historymodel.cpp:262
-#, fuzzy, kde-format
-#| msgid "%1x%2 %3bpp"
+#, kde-format
 msgctxt "@info:tooltip width x height"
 msgid "%1x%2"
-msgstr "%1x%2 %3bpp"
+msgstr "%1×%2"
 
 #: klipper.cpp:91
 #, kde-format
diff -Nru plasma-workspace-6.3.4/po/de/libkicker.po plasma-workspace-6.3.5/po/de/libkicker.po
--- plasma-workspace-6.3.4/po/de/libkicker.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/de/libkicker.po	2025-05-06 19:59:32.000000000 +0200
@@ -1,4 +1,4 @@
-# SPDX-FileCopyrightText: 2024 Flori G <Renner03@protonmail.com>
+# SPDX-FileCopyrightText: 2024, 2025 Flori G <Renner03@protonmail.com>
 # Burkhard Lück <lueck@hube-lueck.de>, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021.
 # Markus Slopianka <markus.s@kdemail.net>, 2012, 2013.
 # Frederik Schwarzer <schwarzer@kde.org>, 2013, 2015, 2016, 2020.
@@ -8,7 +8,7 @@
 "Project-Id-Version: libkicker\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
 "POT-Creation-Date: 2025-02-03 02:32+0000\n"
-"PO-Revision-Date: 2024-09-22 20:53+0200\n"
+"PO-Revision-Date: 2025-04-20 18:36+0200\n"
 "Last-Translator: Flori G <Renner03@protonmail.com>\n"
 "Language-Team: German <kde-i18n-de@kde.org>\n"
 "Language: de\n"
@@ -16,7 +16,7 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Lokalize 24.08.1\n"
+"X-Generator: Lokalize 25.04.0\n"
 
 #: plugin/actionlist.cpp:85
 #, kde-format
@@ -136,8 +136,7 @@
 msgstr "Anwendung vergessen"
 
 #: plugin/recentusagemodel.cpp:313
-#, fuzzy, kde-format
-#| msgid "Folder"
+#, kde-format
 msgid "Folders"
 msgstr "Ordner"
 
@@ -226,11 +225,12 @@
 msgid "Switch User"
 msgstr "Benutzer wechseln"
 
+# Standby-Modus ist zu lang, führt dazu, dass die Standardgröße von Kickoff nicht ausreicht und vom Nutzer manuell größer gemacht werden muss.
 #: plugin/systementry.cpp:206
 #, kde-format
 msgctxt "Suspend to RAM"
 msgid "Sleep"
-msgstr "Standby-Modus"
+msgstr "Standby"
 
 #: plugin/systementry.cpp:209
 #, kde-format
diff -Nru plasma-workspace-6.3.4/po/de/libnotificationmanager.po plasma-workspace-6.3.5/po/de/libnotificationmanager.po
--- plasma-workspace-6.3.4/po/de/libnotificationmanager.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/de/libnotificationmanager.po	2025-05-06 19:59:32.000000000 +0200
@@ -1,23 +1,24 @@
-# Copyright (C) YEAR This file is copyright:
+# Copyright (C) 2025 This file is copyright:
 # This file is distributed under the same license as the plasma-workspace package.
 # Frederik Schwarzer <schwarzer@kde.org>, 2019.
 # Burkhard Lück <lueck@hube-lueck.de>, 2019.
 # Jannick Kuhr <opensource@kuhr.org>, 2023.
+# SPDX-FileCopyrightText: 2025 Flori G <Renner03@protonmail.com>
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: libnotificationmanager\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
 "POT-Creation-Date: 2025-03-05 03:13+0000\n"
-"PO-Revision-Date: 2023-02-01 23:47+0100\n"
-"Last-Translator: Jannick Kuhr <opensource@kuhr.org>\n"
+"PO-Revision-Date: 2025-04-16 03:04+0200\n"
+"Last-Translator: Flori G <Renner03@protonmail.com>\n"
 "Language-Team: German <kde-i18n-de@kde.org>\n"
 "Language: de\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Lokalize 22.12.1\n"
+"X-Generator: Lokalize 24.12.3\n"
 
 #: abstractnotificationsmodel.cpp:319
 #, kde-format
@@ -108,10 +109,11 @@
 #, kde-format
 msgctxt "@title"
 msgid "Unread Notifications"
-msgstr ""
+msgstr "Ungelesene Benachrichtigungen"
 
 #: notifications.cpp:864
 #, kde-format
 msgctxt "@info"
 msgid "%1 notifications were received while Do Not Disturb was active."
 msgstr ""
+"Es sind %1 Benachrichtigungen eingegangen, während „Nicht stören“ aktiv war."
diff -Nru plasma-workspace-6.3.4/po/de/plasma_applet_org.kde.plasma.digitalclock.po plasma-workspace-6.3.5/po/de/plasma_applet_org.kde.plasma.digitalclock.po
--- plasma-workspace-6.3.4/po/de/plasma_applet_org.kde.plasma.digitalclock.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/de/plasma_applet_org.kde.plasma.digitalclock.po	2025-05-06 19:59:32.000000000 +0200
@@ -3,6 +3,7 @@
 # Burkhard Lück <lueck@hube-lueck.de>, 2014, 2015, 2018, 2019, 2021.
 # Alois Spitzbart <spitz234@hotmail.com>, 2021.
 # Jannick Kuhr <opensource@kuhr.org>, 2023.
+# SPDX-FileCopyrightText: 2025 Flori G <Renner03@protonmail.com>
 msgid ""
 msgstr ""
 "Project-Id-Version: plasma_applet_org.kde.plasma.digitalclock\n"
@@ -16,7 +17,7 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Lokalize 25.03.70\n"
+"X-Generator: Lokalize 24.12.3\n"
 
 #: package/contents/config/config.qml:20
 #, kde-format
diff -Nru plasma-workspace-6.3.4/po/de/plasma_applet_org.kde.plasma.mediacontroller.po plasma-workspace-6.3.5/po/de/plasma_applet_org.kde.plasma.mediacontroller.po
--- plasma-workspace-6.3.4/po/de/plasma_applet_org.kde.plasma.mediacontroller.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/de/plasma_applet_org.kde.plasma.mediacontroller.po	2025-05-06 19:59:32.000000000 +0200
@@ -2,6 +2,7 @@
 # Frederik Schwarzer <schwarzer@kde.org>, 2014, 2016, 2018, 2022.
 # Burkhard Lück <lueck@hube-lueck.de>, 2014, 2017, 2021.
 # Jannick Kuhr <opensource@kuhr.org>, 2023.
+# SPDX-FileCopyrightText: 2025 Flori G <Renner03@protonmail.com>
 msgid ""
 msgstr ""
 "Project-Id-Version: plasma_applet_org.kde.plasma.mediacontroller\n"
@@ -15,7 +16,7 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Lokalize 24.11.70\n"
+"X-Generator: Lokalize 24.12.2\n"
 
 #: package/contents/ui/AlbumArtStackView.qml:202
 #, kde-format
diff -Nru plasma-workspace-6.3.4/po/de/plasma_runner_sessions.po plasma-workspace-6.3.5/po/de/plasma_runner_sessions.po
--- plasma-workspace-6.3.4/po/de/plasma_runner_sessions.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/de/plasma_runner_sessions.po	2025-05-06 19:59:32.000000000 +0200
@@ -3,6 +3,7 @@
 # Burkhard Lück <lueck@hube-lueck.de>, 2009, 2018, 2020.
 # Frederik Schwarzer <schwarzer@kde.org>, 2011.
 # Jannick Kuhr <opensource@kuhr.org>, 2023.
+# SPDX-FileCopyrightText: 2025 Flori G <Renner03@protonmail.com>
 msgid ""
 msgstr ""
 "Project-Id-Version: plasma_runner_sessions\n"
@@ -16,7 +17,7 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Lokalize 23.08.4\n"
+"X-Generator: Lokalize 24.12.3\n"
 
 #: sessionrunner.cpp:22
 #, kde-format
diff -Nru plasma-workspace-6.3.4/po/de/plasmashell.po plasma-workspace-6.3.5/po/de/plasmashell.po
--- plasma-workspace-6.3.4/po/de/plasmashell.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/de/plasmashell.po	2025-05-06 19:59:32.000000000 +0200
@@ -8,7 +8,7 @@
 "Project-Id-Version: plasmashell\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
 "POT-Creation-Date: 2025-03-24 02:34+0000\n"
-"PO-Revision-Date: 2025-01-25 15:42+0100\n"
+"PO-Revision-Date: 2025-04-15 02:34+0200\n"
 "Last-Translator: Flori G <Renner03@protonmail.com>\n"
 "Language-Team: German <kde-i18n-de@kde.org>\n"
 "Language: de\n"
@@ -16,7 +16,7 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Lokalize 24.12.1\n"
+"X-Generator: Lokalize 24.12.3\n"
 
 #, kde-format
 msgctxt "NAME OF TRANSLATORS"
@@ -97,7 +97,7 @@
 #, kde-format
 msgctxt "@info:usagetip"
 msgid "Visit bugs.kde.org to report issues"
-msgstr "Besuchen Sie bugs.kde.org, um Probleme zu berichten"
+msgstr "Besuchen Sie bugs.kde.org, um Probleme zu melden"
 
 #: desktopview.cpp:286
 #, kde-format
@@ -109,7 +109,7 @@
 #, kde-format
 msgctxt "@action:button"
 msgid "Report a Bug…"
-msgstr "Probleme oder Wünsche berichten …"
+msgstr "Ein Problem melden …"
 
 #: desktopview.cpp:302
 #, kde-format
@@ -155,10 +155,9 @@
 msgstr "Bearbeitungsmodus starten"
 
 #: desktopview.cpp:533
-#, fuzzy, kde-format
-#| msgid "Enter Edit Mode"
+#, kde-format
 msgid "Exit Edit Mode"
-msgstr "Bearbeitungsmodus starten"
+msgstr "Bearbeitungsmodus beenden"
 
 #: main.cpp:86
 #, kde-format
diff -Nru plasma-workspace-6.3.4/po/de/plasmashellprivateplugin.po plasma-workspace-6.3.5/po/de/plasmashellprivateplugin.po
--- plasma-workspace-6.3.4/po/de/plasmashellprivateplugin.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/de/plasmashellprivateplugin.po	2025-05-06 19:59:32.000000000 +0200
@@ -2,12 +2,13 @@
 # Burkhard Lück <lueck@hube-lueck.de>, 2014, 2016, 2018, 2021.
 # Frederik Schwarzer <schwarzer@kde.org>, 2016, 2022, 2023.
 # Jannick Kuhr <opensource@kuhr.org>, 2023.
-# SPDX-FileCopyrightText: 2024 2025 Flori G <Renner03@protonmail.com>
+# SPDX-FileCopyrightText: 2025 Flori G <Renner03@protonmail.com>
+# SPDX-FileCopyrightText: 2024, 2025 SPDX-FileCopyrightText :
 msgid ""
 msgstr ""
 "Project-Id-Version: plasmashellprivateplugin\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2025-01-04 00:42+0000\n"
+"POT-Creation-Date: 2025-04-23 02:36+0000\n"
 "PO-Revision-Date: 2025-01-25 16:59+0100\n"
 "Last-Translator: Flori G <Renner03@protonmail.com>\n"
 "Language-Team: German <kde-i18n-de@kde.org>\n"
@@ -16,7 +17,7 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Lokalize 24.12.1\n"
+"X-Generator: Lokalize 24.12.2\n"
 
 #, kde-format
 msgctxt "NAME OF TRANSLATORS"
@@ -63,14 +64,14 @@
 msgid "Other"
 msgstr "Weitere"
 
-#: calendar/qml/DayDelegate.qml:95
+#: calendar/qml/DayDelegate.qml:96
 #, kde-format
 msgid "%1 event"
 msgid_plural "%1 events"
 msgstr[0] "%1 Termin"
 msgstr[1] "%1 Termine"
 
-#: calendar/qml/DayDelegate.qml:96
+#: calendar/qml/DayDelegate.qml:97
 #, kde-format
 msgid "No events"
 msgstr "Keine Termine"
diff -Nru plasma-workspace-6.3.4/po/el/plasmashellprivateplugin.po plasma-workspace-6.3.5/po/el/plasmashellprivateplugin.po
--- plasma-workspace-6.3.4/po/el/plasmashellprivateplugin.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/el/plasmashellprivateplugin.po	2025-05-06 19:59:32.000000000 +0200
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2025-01-04 00:42+0000\n"
+"POT-Creation-Date: 2025-04-23 02:36+0000\n"
 "PO-Revision-Date: 2024-08-24 18:43+0300\n"
 "Last-Translator: Αντώνης Γέραλης <capoiosct@gmail.com>\n"
 "Language-Team: Greek <kde-i18n-doc@kde.org>\n"
@@ -63,14 +63,14 @@
 msgid "Other"
 msgstr "Άλλα"
 
-#: calendar/qml/DayDelegate.qml:95
+#: calendar/qml/DayDelegate.qml:96
 #, kde-format
 msgid "%1 event"
 msgid_plural "%1 events"
 msgstr[0] "Γεγονός %1"
 msgstr[1] "%1 γεγονότα"
 
-#: calendar/qml/DayDelegate.qml:96
+#: calendar/qml/DayDelegate.qml:97
 #, kde-format
 msgid "No events"
 msgstr "Κανένα γεγονός"
diff -Nru plasma-workspace-6.3.4/po/en_GB/plasmashellprivateplugin.po plasma-workspace-6.3.5/po/en_GB/plasmashellprivateplugin.po
--- plasma-workspace-6.3.4/po/en_GB/plasmashellprivateplugin.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/en_GB/plasmashellprivateplugin.po	2025-05-06 19:59:32.000000000 +0200
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2025-01-04 00:42+0000\n"
+"POT-Creation-Date: 2025-04-23 02:36+0000\n"
 "PO-Revision-Date: 2024-09-07 12:04+0100\n"
 "Last-Translator: Steve Allewell <steve.allewell@gmail.com>\n"
 "Language-Team: British English\n"
@@ -62,14 +62,14 @@
 msgid "Other"
 msgstr "Other"
 
-#: calendar/qml/DayDelegate.qml:95
+#: calendar/qml/DayDelegate.qml:96
 #, kde-format
 msgid "%1 event"
 msgid_plural "%1 events"
 msgstr[0] "%1 event"
 msgstr[1] "%1 events"
 
-#: calendar/qml/DayDelegate.qml:96
+#: calendar/qml/DayDelegate.qml:97
 #, kde-format
 msgid "No events"
 msgstr "No events"
diff -Nru plasma-workspace-6.3.4/po/eo/plasmashellprivateplugin.po plasma-workspace-6.3.5/po/eo/plasmashellprivateplugin.po
--- plasma-workspace-6.3.4/po/eo/plasmashellprivateplugin.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/eo/plasmashellprivateplugin.po	2025-05-06 19:59:32.000000000 +0200
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: plasma-workspace\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2025-01-04 00:42+0000\n"
+"POT-Creation-Date: 2025-04-23 02:36+0000\n"
 "PO-Revision-Date: 2025-01-06 18:58+0100\n"
 "Last-Translator: Oliver Kellogg <olivermkellogg@gmail.com>\n"
 "Language-Team: Esperanto <kde-i18n-eo@kde.org>\n"
@@ -65,14 +65,14 @@
 msgid "Other"
 msgstr "Alia"
 
-#: calendar/qml/DayDelegate.qml:95
+#: calendar/qml/DayDelegate.qml:96
 #, kde-format
 msgid "%1 event"
 msgid_plural "%1 events"
 msgstr[0] "%1 evento"
 msgstr[1] "%1 eventoj"
 
-#: calendar/qml/DayDelegate.qml:96
+#: calendar/qml/DayDelegate.qml:97
 #, kde-format
 msgid "No events"
 msgstr "Neniuj eventoj"
diff -Nru plasma-workspace-6.3.4/po/es/plasmashellprivateplugin.po plasma-workspace-6.3.5/po/es/plasmashellprivateplugin.po
--- plasma-workspace-6.3.4/po/es/plasmashellprivateplugin.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/es/plasmashellprivateplugin.po	2025-05-06 19:59:32.000000000 +0200
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: plasmashellprivateplugin\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2025-01-04 00:42+0000\n"
+"POT-Creation-Date: 2025-04-23 02:36+0000\n"
 "PO-Revision-Date: 2025-01-05 01:14+0100\n"
 "Last-Translator: Eloy Cuadra <ecuadra@eloihr.net>\n"
 "Language-Team: Spanish <kde-l10n-es@kde.org>\n"
@@ -64,14 +64,14 @@
 msgid "Other"
 msgstr "Otros"
 
-#: calendar/qml/DayDelegate.qml:95
+#: calendar/qml/DayDelegate.qml:96
 #, kde-format
 msgid "%1 event"
 msgid_plural "%1 events"
 msgstr[0] "%1 evento"
 msgstr[1] "%1 eventos"
 
-#: calendar/qml/DayDelegate.qml:96
+#: calendar/qml/DayDelegate.qml:97
 #, kde-format
 msgid "No events"
 msgstr "No hay eventos"
diff -Nru plasma-workspace-6.3.4/po/et/plasmashellprivateplugin.po plasma-workspace-6.3.5/po/et/plasmashellprivateplugin.po
--- plasma-workspace-6.3.4/po/et/plasmashellprivateplugin.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/et/plasmashellprivateplugin.po	2025-05-06 19:59:32.000000000 +0200
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2025-01-04 00:42+0000\n"
+"POT-Creation-Date: 2025-04-23 02:36+0000\n"
 "PO-Revision-Date: 2020-10-08 10:41+0200\n"
 "Last-Translator: Mihkel Tõnnov <mihhkel@gmail.com>\n"
 "Language-Team: Estonian <>\n"
@@ -63,14 +63,14 @@
 msgid "Other"
 msgstr ""
 
-#: calendar/qml/DayDelegate.qml:95
+#: calendar/qml/DayDelegate.qml:96
 #, kde-format
 msgid "%1 event"
 msgid_plural "%1 events"
 msgstr[0] ""
 msgstr[1] ""
 
-#: calendar/qml/DayDelegate.qml:96
+#: calendar/qml/DayDelegate.qml:97
 #, kde-format
 msgid "No events"
 msgstr ""
diff -Nru plasma-workspace-6.3.4/po/eu/plasmashellprivateplugin.po plasma-workspace-6.3.5/po/eu/plasmashellprivateplugin.po
--- plasma-workspace-6.3.4/po/eu/plasmashellprivateplugin.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/eu/plasmashellprivateplugin.po	2025-05-06 19:59:32.000000000 +0200
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: plasma-workspace\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2025-01-04 00:42+0000\n"
+"POT-Creation-Date: 2025-04-23 02:36+0000\n"
 "PO-Revision-Date: 2025-01-04 22:38+0100\n"
 "Last-Translator: Iñigo Salvador Azurmendi <xalba@ni.eus>\n"
 "Language-Team: Basque <kde-i18n-eu@kde.org>\n"
@@ -65,14 +65,14 @@
 msgid "Other"
 msgstr "Bestelakoa"
 
-#: calendar/qml/DayDelegate.qml:95
+#: calendar/qml/DayDelegate.qml:96
 #, kde-format
 msgid "%1 event"
 msgid_plural "%1 events"
 msgstr[0] "ekitaldi %1"
 msgstr[1] "%1 ekitaldi"
 
-#: calendar/qml/DayDelegate.qml:96
+#: calendar/qml/DayDelegate.qml:97
 #, kde-format
 msgid "No events"
 msgstr "Ekitaldirik ez"
diff -Nru plasma-workspace-6.3.4/po/fi/plasma_applet_org.kde.plasma.devicenotifier.po plasma-workspace-6.3.5/po/fi/plasma_applet_org.kde.plasma.devicenotifier.po
--- plasma-workspace-6.3.4/po/fi/plasma_applet_org.kde.plasma.devicenotifier.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/fi/plasma_applet_org.kde.plasma.devicenotifier.po	2025-05-06 19:59:32.000000000 +0200
@@ -4,7 +4,7 @@
 # Mikko Piippo <piippo@cc.helsinki.fi>, 2007, 2008.
 # Teemu Rytilahti <teemu.rytilahti@kde-fi.org>, 2008.
 # Teemu Rytilahti <teemu.rytilahti@d5k.net>, 2008.
-# Tommi Nieminen <translator@legisign.org>, 2009, 2012, 2018, 2019, 2020, 2021, 2022, 2023.
+# SPDX-FileCopyrightText: 2009, 2012, 2018, 2019, 2020, 2021, 2022, 2023, 2025 Tommi Nieminen <translator@legisign.org>
 # SPDX-FileCopyrightText: 2010, 2011, 2024 Lasse Liehu <lliehu@kolumbus.fi>
 # Lasse Liehu <lasse.liehu@gmail.com>, 2011, 2013, 2014, 2016.
 # SPDX-FileCopyrightText: 2024 Kimmo Kujansuu <mrkujansuu@gmail.com>
@@ -24,6 +24,7 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Lokalize 23.08.5\n"
 
 #: package/contents/ui/DeviceItem.qml:98
 #, kde-format
diff -Nru plasma-workspace-6.3.4/po/fi/plasma_runner_sessions.po plasma-workspace-6.3.5/po/fi/plasma_runner_sessions.po
--- plasma-workspace-6.3.4/po/fi/plasma_runner_sessions.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/fi/plasma_runner_sessions.po	2025-05-06 19:59:32.000000000 +0200
@@ -1,7 +1,7 @@
 # Copyright (C) YEAR This_file_is_part_of_KDE
 # This file is distributed under the same license as the PACKAGE package.
 # Teemu Rytilahti <teemu.rytilahti@d5k.net>, 2008.
-# Tommi Nieminen <translator@legisign.org>, 2010, 2018, 2020, 2022, 2023.
+# SPDX-FileCopyrightText: 2010, 2018, 2020, 2022, 2023, 2025 Tommi Nieminen <translator@legisign.org>
 # Lasse Liehu <lasse.liehu@gmail.com>, 2010, 2011, 2022.
 #
 # KDE Finnish translation sprint participants:
@@ -18,6 +18,7 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Lokalize 23.08.5\n"
 
 #: sessionrunner.cpp:22
 #, kde-format
diff -Nru plasma-workspace-6.3.4/po/fi/plasmashellprivateplugin.po plasma-workspace-6.3.5/po/fi/plasmashellprivateplugin.po
--- plasma-workspace-6.3.4/po/fi/plasmashellprivateplugin.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/fi/plasmashellprivateplugin.po	2025-05-06 19:59:32.000000000 +0200
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2025-01-04 00:42+0000\n"
+"POT-Creation-Date: 2025-04-23 02:36+0000\n"
 "PO-Revision-Date: 2025-01-12 17:15+0200\n"
 "Last-Translator: Tommi Nieminen <translator@legisign.org>\n"
 "Language-Team: Finnish <kde-i18n-doc@kde.org>\n"
@@ -64,14 +64,14 @@
 msgid "Other"
 msgstr "Muut"
 
-#: calendar/qml/DayDelegate.qml:95
+#: calendar/qml/DayDelegate.qml:96
 #, kde-format
 msgid "%1 event"
 msgid_plural "%1 events"
 msgstr[0] "%1 tapahtuma"
 msgstr[1] "%1 tapahtumaa"
 
-#: calendar/qml/DayDelegate.qml:96
+#: calendar/qml/DayDelegate.qml:97
 #, kde-format
 msgid "No events"
 msgstr "Ei tapahtumia"
diff -Nru plasma-workspace-6.3.4/po/fr/kcm_notifications.po plasma-workspace-6.3.5/po/fr/kcm_notifications.po
--- plasma-workspace-6.3.4/po/fr/kcm_notifications.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/fr/kcm_notifications.po	2025-05-06 19:59:32.000000000 +0200
@@ -1,4 +1,4 @@
-# SPDX-FileCopyrightText: 2020, 2021, 2023, 2024 Xavier Besnard <xavier.besnard@kde.org>
+# SPDX-FileCopyrightText: 2020, 2021, 2023, 2024, 2025 Xavier Besnard <xavier.besnard@kde.org>
 # Yoann Laissus <yoann.laissus@gmail.com>, 2019.
 # Simon Depiets <sdepiets@gmail.com>, 2019, 2020.
 # Xavier Besnard <xavier.besnard@kde.org>, 2022.
@@ -15,9 +15,9 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Lokalize 23.08.5\n"
-"X-Environment: kde\n"
 "X-Accelerator-Marker: &\n"
+"X-Environment: kde\n"
+"X-Generator: Lokalize 24.12.3\n"
 "X-Text-Markup: kde4\n"
 
 #: kcm.cpp:70
diff -Nru plasma-workspace-6.3.4/po/fr/kcm_users.po plasma-workspace-6.3.5/po/fr/kcm_users.po
--- plasma-workspace-6.3.4/po/fr/kcm_users.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/fr/kcm_users.po	2025-05-06 19:59:32.000000000 +0200
@@ -13,7 +13,7 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Lokalize 24.12.0\n"
+"X-Generator: Lokalize 24.12.3\n"
 
 #: src/fingerprintmodel.cpp:145 src/fingerprintmodel.cpp:229
 #, kde-format
diff -Nru plasma-workspace-6.3.4/po/fr/plasma_applet_org.kde.plasma.digitalclock.po plasma-workspace-6.3.5/po/fr/plasma_applet_org.kde.plasma.digitalclock.po
--- plasma-workspace-6.3.4/po/fr/plasma_applet_org.kde.plasma.digitalclock.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/fr/plasma_applet_org.kde.plasma.digitalclock.po	2025-05-06 19:59:32.000000000 +0200
@@ -21,7 +21,7 @@
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 "X-Accelerator-Marker: &\n"
 "X-Environment: kde\n"
-"X-Generator: Lokalize 24.12.2\n"
+"X-Generator: Lokalize 24.12.3\n"
 "X-Text-Markup: kde4\n"
 
 #: package/contents/config/config.qml:20
diff -Nru plasma-workspace-6.3.4/po/fr/plasma_engine_weather.po plasma-workspace-6.3.5/po/fr/plasma_engine_weather.po
--- plasma-workspace-6.3.4/po/fr/plasma_engine_weather.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/fr/plasma_engine_weather.po	2025-05-06 19:59:32.000000000 +0200
@@ -3,7 +3,7 @@
 # Anne-Marie Mahfouf <annemarie.mahfouf@free.fr>, 2009.
 # Mickael Sibelle <kimael@gmail.com>, 2009.
 # Mickaël Sibelle <kimael@gmail.com>, 2009.
-# SPDX-FileCopyrightText: 2013, 2024 Xavier Besnard <xavier.besnard@kde.org>
+# SPDX-FileCopyrightText: 2013, 2024, 2025 Xavier Besnard <xavier.besnard@kde.org>
 # Vincent Pinon <vpinon@kde.org>, 2016, 2017.
 # Simon Depiets <sdepiets@gmail.com>, 2018, 2019.
 # Xavier Besnard <xavier.besnard@kde.org>, 2021.
@@ -13,7 +13,7 @@
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
 "POT-Creation-Date: 2025-02-26 02:36+0000\n"
-"PO-Revision-Date: 2024-08-09 14:19+0200\n"
+"PO-Revision-Date: 2025-04-11 17:00+0200\n"
 "Last-Translator: Xavier Besnard <xavier.besnard@kde.org>\n"
 "Language-Team: French <French <kde-francophone@kde.org>>\n"
 "Language: fr\n"
@@ -21,7 +21,7 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Lokalize 23.08.5\n"
+"X-Generator: Lokalize 24.12.3\n"
 "X-Environment: kde\n"
 "X-Accelerator-Marker: &\n"
 "X-Text-Markup: kde4\n"
@@ -250,7 +250,7 @@
 #, kde-format
 msgctxt "weather condition"
 msgid "na"
-msgstr "nd"
+msgstr "NA"
 
 #: bbcukmet_i18n.dat:38
 #, kde-format
@@ -545,7 +545,7 @@
 #, kde-format
 msgctxt "weather forecast"
 msgid "na"
-msgstr "nd"
+msgstr "NA"
 
 #: bbcukmet_i18n.dat:87
 #, kde-format
@@ -2789,7 +2789,7 @@
 #, kde-format
 msgctxt "Short for night, appended to the end of the weekday"
 msgid "nt"
-msgstr "nt"
+msgstr "NT"
 
 #: ions/envcan/ion_envcan.cpp:1556
 #, kde-format
diff -Nru plasma-workspace-6.3.4/po/fr/plasma_lookandfeel_org.kde.lookandfeel.po plasma-workspace-6.3.5/po/fr/plasma_lookandfeel_org.kde.lookandfeel.po
--- plasma-workspace-6.3.4/po/fr/plasma_lookandfeel_org.kde.lookandfeel.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/fr/plasma_lookandfeel_org.kde.lookandfeel.po	2025-05-06 19:59:32.000000000 +0200
@@ -11,7 +11,7 @@
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
 "POT-Creation-Date: 2024-12-31 00:42+0000\n"
-"PO-Revision-Date: 2025-01-01 10:08+0100\n"
+"PO-Revision-Date: 2025-04-08 15:44+0200\n"
 "Last-Translator: Xavier Besnard <xavier.besnard@kde.org>\n"
 "Language-Team: French <French <kde-francophone@kde.org>>\n"
 "Language: fr\n"
@@ -19,7 +19,7 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Lokalize 24.12.0\n"
+"X-Generator: Lokalize 24.12.3\n"
 "X-Environment: kde\n"
 "X-Accelerator-Marker: &\n"
 "X-Text-Markup: kde4\n"
@@ -89,7 +89,7 @@
 #: contents/logout/Logout.qml:203
 #, kde-format
 msgid "When restarted, the computer will enter the boot loader menu."
-msgstr "Au redémarrage, l'ordinateur ouvrira le menu de chargement du boot."
+msgstr "Au redémarrage, l'ordinateur ouvrira le menu du chargeur de démarrage."
 
 #: contents/logout/Logout.qml:216
 #, kde-format
diff -Nru plasma-workspace-6.3.4/po/fr/plasmashellprivateplugin.po plasma-workspace-6.3.5/po/fr/plasmashellprivateplugin.po
--- plasma-workspace-6.3.4/po/fr/plasmashellprivateplugin.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/fr/plasmashellprivateplugin.po	2025-05-06 19:59:32.000000000 +0200
@@ -10,7 +10,7 @@
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2025-01-04 00:42+0000\n"
+"POT-Creation-Date: 2025-04-23 02:36+0000\n"
 "PO-Revision-Date: 2025-01-05 09:38+0100\n"
 "Last-Translator: Xavier Besnard <xavier.besnard@kde.org>\n"
 "Language-Team: French <French <kde-francophone@kde.org>>\n"
@@ -69,14 +69,14 @@
 msgid "Other"
 msgstr "Autre"
 
-#: calendar/qml/DayDelegate.qml:95
+#: calendar/qml/DayDelegate.qml:96
 #, kde-format
 msgid "%1 event"
 msgid_plural "%1 events"
 msgstr[0] "Évènement %1"
 msgstr[1] "%1 évènements"
 
-#: calendar/qml/DayDelegate.qml:96
+#: calendar/qml/DayDelegate.qml:97
 #, kde-format
 msgid "No events"
 msgstr "Aucun évènement"
diff -Nru plasma-workspace-6.3.4/po/fr/plasma_wallpaper_org.kde.image.po plasma-workspace-6.3.5/po/fr/plasma_wallpaper_org.kde.image.po
--- plasma-workspace-6.3.4/po/fr/plasma_wallpaper_org.kde.image.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/fr/plasma_wallpaper_org.kde.image.po	2025-05-06 19:59:32.000000000 +0200
@@ -9,7 +9,7 @@
 # Yoann Laissus <yoann.laissus@gmail.com>, 2015.
 # Vincent Pinon <vpinon@kde.org>, 2017.
 # Simon Depiets <sdepiets@gmail.com>, 2018, 2019, 2020.
-# SPDX-FileCopyrightText: 2021, 2022, 2023, 2024 Xavier Besnard <xavier.besnard@kde.org>
+# SPDX-FileCopyrightText: 2021, 2022, 2023, 2024, 2025 Xavier Besnard <xavier.besnard@kde.org>
 # Xavier Besnard <xavier.besnard@kde.org>, 2023.
 #
 msgid ""
@@ -17,7 +17,7 @@
 "Project-Id-Version: plasma_wallpaper_image\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
 "POT-Creation-Date: 2025-01-01 00:42+0000\n"
-"PO-Revision-Date: 2024-08-30 13:43+0200\n"
+"PO-Revision-Date: 2025-04-08 15:46+0200\n"
 "Last-Translator: Xavier Besnard <xavier.besnard@kde.org>\n"
 "Language-Team: French <French <kde-francophone@kde.org>>\n"
 "Language: fr\n"
@@ -27,7 +27,7 @@
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 "X-Accelerator-Marker: &\n"
 "X-Environment: kde\n"
-"X-Generator: Lokalize 23.08.5\n"
+"X-Generator: Lokalize 24.12.3\n"
 "X-Text-Markup: kde4\n"
 
 #, kde-format
@@ -184,7 +184,7 @@
 #, kde-format
 msgid "Specify the fill mode (e.g., stretch, preserveAspectCrop, etc.)"
 msgstr ""
-"Spécifiez le mode de remplissage (Par exemple, stretch, preserveAspectCrop, "
+"Spécifiez le mode de remplissage (Par exemple, Étiré, Préserver Rognage, "
 "etc.)"
 
 #: plasma-apply-wallpaperimage.cpp:61
diff -Nru plasma-workspace-6.3.4/po/gl/kcm_notifications.po plasma-workspace-6.3.5/po/gl/kcm_notifications.po
--- plasma-workspace-6.3.4/po/gl/kcm_notifications.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/gl/kcm_notifications.po	2025-05-06 19:59:33.000000000 +0200
@@ -1,6 +1,6 @@
 # Copyright (C) 2024 This file is copyright:
 # This file is distributed under the same license as the plasma-desktop package.
-# SPDX-FileCopyrightText: 2024 Adrián Chaves (Gallaecio)
+# SPDX-FileCopyrightText: 2024, 2025 Adrián Chaves (Gallaecio)
 #
 msgid ""
 msgstr ""
@@ -15,7 +15,7 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Lokalize 24.05.2\n"
+"X-Generator: Lokalize 25.04.0\n"
 
 #: kcm.cpp:70
 #, kde-format
diff -Nru plasma-workspace-6.3.4/po/gl/plasma_applet_org.kde.plasma.mediacontroller.po plasma-workspace-6.3.5/po/gl/plasma_applet_org.kde.plasma.mediacontroller.po
--- plasma-workspace-6.3.4/po/gl/plasma_applet_org.kde.plasma.mediacontroller.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/gl/plasma_applet_org.kde.plasma.mediacontroller.po	2025-05-06 19:59:33.000000000 +0200
@@ -16,7 +16,7 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Lokalize 24.12.2\n"
+"X-Generator: Lokalize 25.04.0\n"
 
 #: package/contents/ui/AlbumArtStackView.qml:202
 #, kde-format
diff -Nru plasma-workspace-6.3.4/po/gl/plasma_applet_org.kde.plasma.notifications.po plasma-workspace-6.3.5/po/gl/plasma_applet_org.kde.plasma.notifications.po
--- plasma-workspace-6.3.4/po/gl/plasma_applet_org.kde.plasma.notifications.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/gl/plasma_applet_org.kde.plasma.notifications.po	2025-05-06 19:59:33.000000000 +0200
@@ -18,7 +18,7 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Lokalize 24.12.3\n"
+"X-Generator: Lokalize 25.04.0\n"
 
 #: fileinfo.cpp:170
 #, kde-format
diff -Nru plasma-workspace-6.3.4/po/gl/plasmashellprivateplugin.po plasma-workspace-6.3.5/po/gl/plasmashellprivateplugin.po
--- plasma-workspace-6.3.4/po/gl/plasmashellprivateplugin.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/gl/plasmashellprivateplugin.po	2025-05-06 19:59:33.000000000 +0200
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2025-01-04 00:42+0000\n"
+"POT-Creation-Date: 2025-04-23 02:36+0000\n"
 "PO-Revision-Date: 2025-02-14 08:32+0100\n"
 "Last-Translator: Adrián Chaves (Gallaecio) <adrian@chaves.io>\n"
 "Language-Team: Proxecto Trasno (proxecto@trasno.gal)\n"
@@ -16,7 +16,7 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Lokalize 24.12.2\n"
+"X-Generator: Lokalize 25.04.0\n"
 
 #, kde-format
 msgctxt "NAME OF TRANSLATORS"
@@ -63,14 +63,14 @@
 msgid "Other"
 msgstr "Outros"
 
-#: calendar/qml/DayDelegate.qml:95
+#: calendar/qml/DayDelegate.qml:96
 #, kde-format
 msgid "%1 event"
 msgid_plural "%1 events"
 msgstr[0] "%1 evento"
 msgstr[1] "%1 eventos"
 
-#: calendar/qml/DayDelegate.qml:96
+#: calendar/qml/DayDelegate.qml:97
 #, kde-format
 msgid "No events"
 msgstr "Ningún evento"
diff -Nru plasma-workspace-6.3.4/po/he/plasmashellprivateplugin.po plasma-workspace-6.3.5/po/he/plasmashellprivateplugin.po
--- plasma-workspace-6.3.4/po/he/plasmashellprivateplugin.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/he/plasmashellprivateplugin.po	2025-05-06 19:59:33.000000000 +0200
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: plasmashellprivateplugin\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2025-01-04 00:42+0000\n"
+"POT-Creation-Date: 2025-04-23 02:36+0000\n"
 "PO-Revision-Date: 2025-01-04 21:40+0200\n"
 "Last-Translator: Yaron Shahrabani <sh.yaron@gmail.com>\n"
 "Language-Team: צוות התרגום של KDE ישראל\n"
@@ -65,7 +65,7 @@
 msgid "Other"
 msgstr "אחר"
 
-#: calendar/qml/DayDelegate.qml:95
+#: calendar/qml/DayDelegate.qml:96
 #, kde-format
 msgid "%1 event"
 msgid_plural "%1 events"
@@ -74,7 +74,7 @@
 msgstr[2] "%1 אירועים"
 msgstr[3] "%1 אירועים"
 
-#: calendar/qml/DayDelegate.qml:96
+#: calendar/qml/DayDelegate.qml:97
 #, kde-format
 msgid "No events"
 msgstr "אין אירועים"
diff -Nru plasma-workspace-6.3.4/po/hi/plasmashellprivateplugin.po plasma-workspace-6.3.5/po/hi/plasmashellprivateplugin.po
--- plasma-workspace-6.3.4/po/hi/plasmashellprivateplugin.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/hi/plasmashellprivateplugin.po	2025-05-06 19:59:33.000000000 +0200
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: plasma-workspace\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2025-01-04 00:42+0000\n"
+"POT-Creation-Date: 2025-04-23 02:36+0000\n"
 "PO-Revision-Date: 2021-08-21 16:25+0530\n"
 "Last-Translator: Raghavendra Kamath <raghu@raghukamath.com>\n"
 "Language-Team: kde-hindi\n"
@@ -62,14 +62,14 @@
 msgid "Other"
 msgstr ""
 
-#: calendar/qml/DayDelegate.qml:95
+#: calendar/qml/DayDelegate.qml:96
 #, kde-format
 msgid "%1 event"
 msgid_plural "%1 events"
 msgstr[0] ""
 msgstr[1] ""
 
-#: calendar/qml/DayDelegate.qml:96
+#: calendar/qml/DayDelegate.qml:97
 #, kde-format
 msgid "No events"
 msgstr ""
diff -Nru plasma-workspace-6.3.4/po/hu/plasmashellprivateplugin.po plasma-workspace-6.3.5/po/hu/plasmashellprivateplugin.po
--- plasma-workspace-6.3.4/po/hu/plasmashellprivateplugin.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/hu/plasmashellprivateplugin.po	2025-05-06 19:59:33.000000000 +0200
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2025-01-04 00:42+0000\n"
+"POT-Creation-Date: 2025-04-23 02:36+0000\n"
 "PO-Revision-Date: 2025-01-24 20:51+0100\n"
 "Last-Translator: Kristof Kiszel <ulysses@fsf.hu>\n"
 "Language-Team: Hungarian <kde-l10n-hu@kde.org>\n"
@@ -63,14 +63,14 @@
 msgid "Other"
 msgstr "Egyéb"
 
-#: calendar/qml/DayDelegate.qml:95
+#: calendar/qml/DayDelegate.qml:96
 #, kde-format
 msgid "%1 event"
 msgid_plural "%1 events"
 msgstr[0] "%1 esemény"
 msgstr[1] "%1 esemény"
 
-#: calendar/qml/DayDelegate.qml:96
+#: calendar/qml/DayDelegate.qml:97
 #, kde-format
 msgid "No events"
 msgstr "Nincsenek események"
diff -Nru plasma-workspace-6.3.4/po/ia/plasmashellprivateplugin.po plasma-workspace-6.3.5/po/ia/plasmashellprivateplugin.po
--- plasma-workspace-6.3.4/po/ia/plasmashellprivateplugin.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/ia/plasmashellprivateplugin.po	2025-05-06 19:59:33.000000000 +0200
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2025-01-04 00:42+0000\n"
+"POT-Creation-Date: 2025-04-23 02:36+0000\n"
 "PO-Revision-Date: 2025-01-08 15:41+0100\n"
 "Last-Translator: giovanni <g.sora@tiscali.it>\n"
 "Language-Team: Interlingua <kde-i18n-doc@kde.org>\n"
@@ -62,14 +62,14 @@
 msgid "Other"
 msgstr "Altere"
 
-#: calendar/qml/DayDelegate.qml:95
+#: calendar/qml/DayDelegate.qml:96
 #, kde-format
 msgid "%1 event"
 msgid_plural "%1 events"
 msgstr[0] "%1 Evento"
 msgstr[1] "%1 Eventos"
 
-#: calendar/qml/DayDelegate.qml:96
+#: calendar/qml/DayDelegate.qml:97
 #, kde-format
 msgid "No events"
 msgstr "Nulle Eventos"
diff -Nru plasma-workspace-6.3.4/po/id/plasmashellprivateplugin.po plasma-workspace-6.3.5/po/id/plasmashellprivateplugin.po
--- plasma-workspace-6.3.4/po/id/plasmashellprivateplugin.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/id/plasmashellprivateplugin.po	2025-05-06 19:59:33.000000000 +0200
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: plasma-workspace\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2025-01-04 00:42+0000\n"
+"POT-Creation-Date: 2025-04-23 02:36+0000\n"
 "PO-Revision-Date: 2025-02-13 22:25+0700\n"
 "Last-Translator: Wantoyo <wantoyek@gmail.com>\n"
 "Language-Team: https://t.me/Localizations_KDE_Indonesia\n";
@@ -63,14 +63,14 @@
 msgid "Other"
 msgstr "Lainnya"
 
-#: calendar/qml/DayDelegate.qml:95
+#: calendar/qml/DayDelegate.qml:96
 #, kde-format
 msgid "%1 event"
 msgid_plural "%1 events"
 msgstr[0] "Peristiwa:"
 msgstr[1] "%1 event"
 
-#: calendar/qml/DayDelegate.qml:96
+#: calendar/qml/DayDelegate.qml:97
 #, kde-format
 msgid "No events"
 msgstr "Tidak ada peristiwa"
diff -Nru plasma-workspace-6.3.4/po/is/plasmashellprivateplugin.po plasma-workspace-6.3.5/po/is/plasmashellprivateplugin.po
--- plasma-workspace-6.3.4/po/is/plasmashellprivateplugin.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/is/plasmashellprivateplugin.po	2025-05-06 19:59:33.000000000 +0200
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: plasma-workspace\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2025-01-04 00:42+0000\n"
+"POT-Creation-Date: 2025-04-23 02:36+0000\n"
 "PO-Revision-Date: 2024-12-18 21:05+0000\n"
 "Last-Translator: Gummi <gudmundure@gmail.com>\n"
 "Language-Team: Icelandic <kde-i18n-doc@kde.org>\n"
@@ -62,14 +62,14 @@
 msgid "Other"
 msgstr "Annað"
 
-#: calendar/qml/DayDelegate.qml:95
+#: calendar/qml/DayDelegate.qml:96
 #, kde-format
 msgid "%1 event"
 msgid_plural "%1 events"
 msgstr[0] "%1 viðburður"
 msgstr[1] "%1 viðburðir"
 
-#: calendar/qml/DayDelegate.qml:96
+#: calendar/qml/DayDelegate.qml:97
 #, kde-format
 msgid "No events"
 msgstr "Engir viðburðir"
diff -Nru plasma-workspace-6.3.4/po/it/kcm_notifications.po plasma-workspace-6.3.5/po/it/kcm_notifications.po
--- plasma-workspace-6.3.4/po/it/kcm_notifications.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/it/kcm_notifications.po	2025-05-06 19:59:33.000000000 +0200
@@ -1,6 +1,6 @@
 # Copyright (C) 2023 This file is copyright:
 # This file is distributed under the same license as the plasma-desktop package.
-# SPDX-FileCopyrightText: 2019, 2020, 2021, 2022, 2023, 2024 Paolo Zamponi <feus73@gmail.com>
+# SPDX-FileCopyrightText: 2019, 2020, 2021, 2022, 2023, 2024, 2025 Paolo Zamponi <feus73@gmail.com>
 #
 msgid ""
 msgstr ""
@@ -15,7 +15,7 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Lokalize 24.05.2\n"
+"X-Generator: Lokalize 25.04.0\n"
 
 #: kcm.cpp:70
 #, kde-format
diff -Nru plasma-workspace-6.3.4/po/it/kcm_users.po plasma-workspace-6.3.5/po/it/kcm_users.po
--- plasma-workspace-6.3.4/po/it/kcm_users.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/it/kcm_users.po	2025-05-06 19:59:33.000000000 +0200
@@ -15,7 +15,7 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Lokalize 24.12.0\n"
+"X-Generator: Lokalize 25.04.0\n"
 
 #: src/fingerprintmodel.cpp:145 src/fingerprintmodel.cpp:229
 #, kde-format
diff -Nru plasma-workspace-6.3.4/po/it/plasma_applet_org.kde.plasma.digitalclock.po plasma-workspace-6.3.5/po/it/plasma_applet_org.kde.plasma.digitalclock.po
--- plasma-workspace-6.3.4/po/it/plasma_applet_org.kde.plasma.digitalclock.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/it/plasma_applet_org.kde.plasma.digitalclock.po	2025-05-06 19:59:33.000000000 +0200
@@ -15,7 +15,7 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Lokalize 24.12.2\n"
+"X-Generator: Lokalize 25.04.0\n"
 
 #: package/contents/config/config.qml:20
 #, kde-format
diff -Nru plasma-workspace-6.3.4/po/it/plasma_applet_org.kde.plasma.mediacontroller.po plasma-workspace-6.3.5/po/it/plasma_applet_org.kde.plasma.mediacontroller.po
--- plasma-workspace-6.3.4/po/it/plasma_applet_org.kde.plasma.mediacontroller.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/it/plasma_applet_org.kde.plasma.mediacontroller.po	2025-05-06 19:59:33.000000000 +0200
@@ -14,7 +14,7 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Lokalize 24.12.2\n"
+"X-Generator: Lokalize 24.12.3\n"
 
 #: package/contents/ui/AlbumArtStackView.qml:202
 #, kde-format
diff -Nru plasma-workspace-6.3.4/po/it/plasma_applet_org.kde.plasma.notifications.po plasma-workspace-6.3.5/po/it/plasma_applet_org.kde.plasma.notifications.po
--- plasma-workspace-6.3.4/po/it/plasma_applet_org.kde.plasma.notifications.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/it/plasma_applet_org.kde.plasma.notifications.po	2025-05-06 19:59:33.000000000 +0200
@@ -16,7 +16,7 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Lokalize 24.12.3\n"
+"X-Generator: Lokalize 25.04.0\n"
 
 #: fileinfo.cpp:170
 #, kde-format
diff -Nru plasma-workspace-6.3.4/po/it/plasma_applet_org.kde.plasma.private.systemtray.po plasma-workspace-6.3.5/po/it/plasma_applet_org.kde.plasma.private.systemtray.po
--- plasma-workspace-6.3.4/po/it/plasma_applet_org.kde.plasma.private.systemtray.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/it/plasma_applet_org.kde.plasma.private.systemtray.po	2025-05-06 19:59:33.000000000 +0200
@@ -16,7 +16,7 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Lokalize 24.12.3\n"
+"X-Generator: Lokalize 25.04.0\n"
 
 #: package/contents/config/config.qml:13
 #, kde-format
diff -Nru plasma-workspace-6.3.4/po/it/plasmashellprivateplugin.po plasma-workspace-6.3.5/po/it/plasmashellprivateplugin.po
--- plasma-workspace-6.3.4/po/it/plasmashellprivateplugin.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/it/plasmashellprivateplugin.po	2025-05-06 19:59:33.000000000 +0200
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2025-01-04 00:42+0000\n"
+"POT-Creation-Date: 2025-04-23 02:36+0000\n"
 "PO-Revision-Date: 2025-01-04 13:57+0100\n"
 "Last-Translator: Luigi Toscano <luigi.toscano@tiscali.it>\n"
 "Language-Team: Italian <kde-i18n-it@kde.org>\n"
@@ -62,14 +62,14 @@
 msgid "Other"
 msgstr "Altro"
 
-#: calendar/qml/DayDelegate.qml:95
+#: calendar/qml/DayDelegate.qml:96
 #, kde-format
 msgid "%1 event"
 msgid_plural "%1 events"
 msgstr[0] "Un evento"
 msgstr[1] "%1 eventi"
 
-#: calendar/qml/DayDelegate.qml:96
+#: calendar/qml/DayDelegate.qml:97
 #, kde-format
 msgid "No events"
 msgstr "Nessun evento"
diff -Nru plasma-workspace-6.3.4/po/ja/plasmashellprivateplugin.po plasma-workspace-6.3.5/po/ja/plasmashellprivateplugin.po
--- plasma-workspace-6.3.4/po/ja/plasmashellprivateplugin.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/ja/plasmashellprivateplugin.po	2025-05-06 19:59:33.000000000 +0200
@@ -4,7 +4,7 @@
 msgstr ""
 "Project-Id-Version: widgetexplorer\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2025-01-04 00:42+0000\n"
+"POT-Creation-Date: 2025-04-23 02:36+0000\n"
 "PO-Revision-Date: 2025-02-23 13:31+0900\n"
 "Last-Translator: Ryuichi Yamada <ryuichi_ya220@outlook.jp>\n"
 "Language-Team: Japanese <kde-jp@kde.org>\n"
@@ -62,13 +62,13 @@
 msgid "Other"
 msgstr "その他"
 
-#: calendar/qml/DayDelegate.qml:95
+#: calendar/qml/DayDelegate.qml:96
 #, kde-format
 msgid "%1 event"
 msgid_plural "%1 events"
 msgstr[0] "%1 イベント"
 
-#: calendar/qml/DayDelegate.qml:96
+#: calendar/qml/DayDelegate.qml:97
 #, kde-format
 msgid "No events"
 msgstr "イベントなし"
diff -Nru plasma-workspace-6.3.4/po/ka/plasmashellprivateplugin.po plasma-workspace-6.3.5/po/ka/plasmashellprivateplugin.po
--- plasma-workspace-6.3.4/po/ka/plasmashellprivateplugin.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/ka/plasmashellprivateplugin.po	2025-05-06 19:59:33.000000000 +0200
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: plasma-workspace\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2025-01-04 00:42+0000\n"
+"POT-Creation-Date: 2025-04-23 02:36+0000\n"
 "PO-Revision-Date: 2025-01-04 05:13+0100\n"
 "Last-Translator: Temuri Doghonadze <temuri.doghonadze@gmail.com>\n"
 "Language-Team: Georgian <kde-i18n-doc@kde.org>\n"
@@ -63,14 +63,14 @@
 msgid "Other"
 msgstr "სხვა"
 
-#: calendar/qml/DayDelegate.qml:95
+#: calendar/qml/DayDelegate.qml:96
 #, kde-format
 msgid "%1 event"
 msgid_plural "%1 events"
 msgstr[0] "%1 მოვლენა"
 msgstr[1] "%1 მოვლენა"
 
-#: calendar/qml/DayDelegate.qml:96
+#: calendar/qml/DayDelegate.qml:97
 #, kde-format
 msgid "No events"
 msgstr "მოვლენების გარეშე"
diff -Nru plasma-workspace-6.3.4/po/ko/kcm_notifications.po plasma-workspace-6.3.5/po/ko/kcm_notifications.po
--- plasma-workspace-6.3.4/po/ko/kcm_notifications.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/ko/kcm_notifications.po	2025-05-06 19:59:33.000000000 +0200
@@ -1,6 +1,6 @@
 # Copyright (C) 2024 This file is copyright:
 # This file is distributed under the same license as the plasma-desktop package.
-# SPDX-FileCopyrightText: 2019, 2020, 2021, 2023, 2024 Shinjo Park <kde@peremen.name>
+# SPDX-FileCopyrightText: 2019, 2020, 2021, 2023, 2024, 2025 Shinjo Park <kde@peremen.name>
 #
 msgid ""
 msgstr ""
diff -Nru plasma-workspace-6.3.4/po/ko/kcm_regionandlang.po plasma-workspace-6.3.5/po/ko/kcm_regionandlang.po
--- plasma-workspace-6.3.4/po/ko/kcm_regionandlang.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/ko/kcm_regionandlang.po	2025-05-06 19:59:33.000000000 +0200
@@ -1,13 +1,13 @@
 # Copyright (C) 2024 This file is copyright:
 # This file is distributed under the same license as the plasma-workspace package.
-# SPDX-FileCopyrightText: 2022, 2023, 2024 Shinjo Park <kde@peremen.name>
+# SPDX-FileCopyrightText: 2022, 2023, 2024, 2025 Shinjo Park <kde@peremen.name>
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: plasma-workspace\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
 "POT-Creation-Date: 2024-09-25 00:41+0000\n"
-"PO-Revision-Date: 2024-11-28 23:36+0100\n"
+"PO-Revision-Date: 2025-04-16 00:23+0200\n"
 "Last-Translator: Shinjo Park <kde@peremen.name>\n"
 "Language-Team: Korean <kde-kr@kde.org>\n"
 "Language: ko\n"
@@ -84,151 +84,151 @@
 #, kde-format
 msgctxt "Care of person or organization"
 msgid "c/o"
-msgstr ""
+msgstr "참조"
 
 #: exampleutility.cpp:94
 #, kde-format
 msgctxt "Firm name"
 msgid "Acme Corporation"
-msgstr ""
+msgstr "무슨무슨 회사"
 
 #: exampleutility.cpp:95
 #, kde-format
 msgctxt "Department name"
 msgid "Development Department"
-msgstr ""
+msgstr "개발부"
 
 #: exampleutility.cpp:96
 #, kde-format
 msgctxt "Building name"
 msgid "Dev-Building"
-msgstr ""
+msgstr "개발동"
 
 #: exampleutility.cpp:97
 #, kde-format
 msgctxt "Street or block name"
 msgid "Main Street"
-msgstr ""
+msgstr "대로"
 
 #: exampleutility.cpp:98
 #, kde-format
 msgctxt "House number"
 msgid "House 1"
-msgstr ""
+msgstr "1동"
 
 #: exampleutility.cpp:100
 #, kde-format
 msgctxt "Whitespace field for locale address style example"
 msgid " "
-msgstr ""
+msgstr " "
 
 #: exampleutility.cpp:101
 #, kde-format
 msgctxt "Room number"
 msgid "Room 2"
-msgstr ""
+msgstr "2호"
 
 #: exampleutility.cpp:102
 #, kde-format
 msgctxt "Floor number"
 msgid "Floor 3"
-msgstr ""
+msgstr "3층"
 
 #: exampleutility.cpp:104
 #, kde-format
 msgctxt "Local township within town or city"
 msgid "Downtown"
-msgstr ""
+msgstr "어떤구"
 
 #: exampleutility.cpp:105
 #, kde-format
 msgctxt "Zip number, postal code"
 msgid "123456"
-msgstr ""
+msgstr "12345"
 
 #: exampleutility.cpp:106
 #, kde-format
 msgctxt "Town or city"
 msgid "City"
-msgstr ""
+msgstr "어느시"
 
 #: exampleutility.cpp:107
 #, kde-format
 msgctxt "State, province or prefecture"
 msgid "State"
-msgstr ""
+msgstr "팔도"
 
 #: exampleutility.cpp:120
 #, kde-format
 msgctxt "Family names"
 msgid "FamilyName"
-msgstr ""
+msgstr "성"
 
 #: exampleutility.cpp:121
 #, kde-format
 msgctxt "Family names in uppercase"
 msgid "FAMILYNAME"
-msgstr ""
+msgstr "성"
 
 #: exampleutility.cpp:122
 #, kde-format
 msgctxt "First given name"
 msgid "FirstName"
-msgstr ""
+msgstr "이름"
 
 #: exampleutility.cpp:123
 #, kde-format
 msgctxt "First given initial"
 msgid "F"
-msgstr ""
+msgstr "F"
 
 #: exampleutility.cpp:124
 #, kde-format
 msgctxt "First given name with latin letters"
 msgid "FirstName"
-msgstr ""
+msgstr "FirstName"
 
 #: exampleutility.cpp:125
 #, kde-format
 msgctxt "Other shorter name"
 msgid "OtherName"
-msgstr ""
+msgstr "기타이름"
 
 #: exampleutility.cpp:126
 #, kde-format
 msgctxt "Additional given names"
 msgid "AdditionalName"
-msgstr ""
+msgstr "추가이름"
 
 #: exampleutility.cpp:127
 #, kde-format
 msgctxt "Initials for additional given names"
 msgid "A"
-msgstr ""
+msgstr "A"
 
 #: exampleutility.cpp:128
 #, kde-format
 msgctxt "Profession"
 msgid "Profession"
-msgstr ""
+msgstr "직위"
 
 #: exampleutility.cpp:129
 #, kde-format
 msgctxt "Salutation"
 msgid "Doctor"
-msgstr ""
+msgstr "박사"
 
 #: exampleutility.cpp:130
 #, kde-format
 msgctxt "Abbreviated salutation"
 msgid "Dr."
-msgstr ""
+msgstr "박사"
 
 #: exampleutility.cpp:131
 #, kde-format
 msgctxt "Salutation using the FDCC-sets conventions"
 msgid "Dr."
-msgstr ""
+msgstr "박사"
 
 #: exampleutility.cpp:132
 #, kde-format
diff -Nru plasma-workspace-6.3.4/po/ko/kcm_users.po plasma-workspace-6.3.5/po/ko/kcm_users.po
--- plasma-workspace-6.3.4/po/ko/kcm_users.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/ko/kcm_users.po	2025-05-06 19:59:33.000000000 +0200
@@ -1,6 +1,6 @@
 # Copyright (C) 2024 This file is copyright:
 # This file is distributed under the same license as the plasma-desktop package.
-# SPDX-FileCopyrightText: 2020, 2021, 2022, 2023, 2024 Shinjo Park <kde@peremen.name>
+# SPDX-FileCopyrightText: 2020, 2021, 2022, 2023, 2024, 2025 Shinjo Park <kde@peremen.name>
 # JungHee Lee <daemul72@gmail.com>, 2021.
 #
 msgid ""
@@ -8,7 +8,7 @@
 "Project-Id-Version: plasma-desktop\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
 "POT-Creation-Date: 2025-01-31 02:36+0000\n"
-"PO-Revision-Date: 2024-11-28 23:38+0100\n"
+"PO-Revision-Date: 2025-04-07 00:26+0200\n"
 "Last-Translator: Shinjo Park <kde@peremen.name>\n"
 "Language-Team: Korean <kde-kr@kde.org>\n"
 "Language: ko\n"
@@ -96,18 +96,14 @@
 msgstr "지갑 암호를 변경하시겠습니까?"
 
 #: src/ui/ChangeWalletPassword.qml:25
-#, fuzzy, kde-format
-#| msgctxt "@info"
-#| msgid ""
-#| "Now that you have changed your login password, you may also want to "
-#| "change the password on your default KWallet to match it."
+#, kde-format
 msgctxt "@info"
 msgid ""
 "Now that you have changed your login password, consider changing the "
 "password on your default KWallet to match it."
 msgstr ""
-"이제 로그인 암호를 변경했으므로 기본 KWallet의 암호와 일치하도록 변경할 수도 "
-"있습니다."
+"이제 로그인 암호를 변경했으므로 기본 KWallet의 암호를 동일한 것으로 변경하는 "
+"것을 추천합니다."
 
 #: src/ui/ChangeWalletPassword.qml:31
 #, kde-format
diff -Nru plasma-workspace-6.3.4/po/ko/kded_geotimezoned.po plasma-workspace-6.3.5/po/ko/kded_geotimezoned.po
--- plasma-workspace-6.3.4/po/ko/kded_geotimezoned.po	1970-01-01 01:00:00.000000000 +0100
+++ plasma-workspace-6.3.5/po/ko/kded_geotimezoned.po	2025-05-06 19:59:33.000000000 +0200
@@ -0,0 +1,42 @@
+# Copyright (C) 2025 This file is copyright:
+# This file is distributed under the same license as the plasma-workspace package.
+# SPDX-FileCopyrightText: 2025 Shinjo Park <kde@peremen.name>
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: plasma-workspace\n"
+"Report-Msgid-Bugs-To: https://bugs.kde.org\n";
+"POT-Creation-Date: 2025-01-10 02:00+0000\n"
+"PO-Revision-Date: 2025-04-07 00:27+0200\n"
+"Last-Translator: Shinjo Park <kde@peremen.name>\n"
+"Language-Team: Korean <kde-kr@kde.org>\n"
+"Language: ko\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Lokalize 23.08.5\n"
+
+#: geotimezonemodule.cpp:187
+#, kde-format
+msgctxt "OSD, keep short"
+msgid "Time zone changed to %1"
+msgstr "시간대 변경됨: %1"
+
+#: geotimezonemodule.cpp:190
+#, kde-format
+msgctxt ""
+"System clock was changed due to time zone change OSD, keep short: new time "
+"(time zone)"
+msgid "Clock changed to %1 (%2)"
+msgstr "시간 변경됨: %1(%2)"
+
+#: geotimezonemodule.cpp:206
+#, kde-format
+msgid "Refresh is already in progress."
+msgstr "변경 진행 중입니다."
+
+#: geotimezonemodule.cpp:269
+#, kde-format
+msgid "Received no or an invalid time zone."
+msgstr "비어 있거나 잘못된 시간대를 받았습니다."
diff -Nru plasma-workspace-6.3.4/po/ko/libkicker.po plasma-workspace-6.3.5/po/ko/libkicker.po
--- plasma-workspace-6.3.4/po/ko/libkicker.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/ko/libkicker.po	2025-05-06 19:59:33.000000000 +0200
@@ -1,13 +1,13 @@
 # Copyright (C) YEAR This_file_is_part_of_KDE
 # This file is distributed under the same license as the PACKAGE package.
-# SPDX-FileCopyrightText: 2014, 2015, 2016, 2017, 2019, 2020, 2021, 2024 Shinjo Park <kde@peremen.name>
+# SPDX-FileCopyrightText: 2014, 2015, 2016, 2017, 2019, 2020, 2021, 2024, 2025 Shinjo Park <kde@peremen.name>
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
 "POT-Creation-Date: 2025-02-03 02:32+0000\n"
-"PO-Revision-Date: 2024-11-28 23:45+0100\n"
+"PO-Revision-Date: 2025-04-07 00:27+0200\n"
 "Last-Translator: Shinjo Park <kde@peremen.name>\n"
 "Language-Team: Korean <kde-kr@kde.org>\n"
 "Language: ko\n"
@@ -137,7 +137,7 @@
 #: plugin/recentusagemodel.cpp:313
 #, kde-format
 msgid "Folders"
-msgstr ""
+msgstr "폴더"
 
 #: plugin/recentusagemodel.cpp:350
 #, kde-format
diff -Nru plasma-workspace-6.3.4/po/ko/libnotificationmanager.po plasma-workspace-6.3.5/po/ko/libnotificationmanager.po
--- plasma-workspace-6.3.4/po/ko/libnotificationmanager.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/ko/libnotificationmanager.po	2025-05-06 19:59:33.000000000 +0200
@@ -1,13 +1,13 @@
-# Copyright (C) YEAR This file is copyright:
+# Copyright (C) 2025 This file is copyright:
 # This file is distributed under the same license as the plasma-workspace package.
-# Shinjo Park <kde@peremen.name>, 2019, 2023.
+# SPDX-FileCopyrightText: 2019, 2023, 2025 Shinjo Park <kde@peremen.name>
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: plasma-workspace\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
 "POT-Creation-Date: 2025-03-05 03:13+0000\n"
-"PO-Revision-Date: 2023-02-28 23:43+0100\n"
+"PO-Revision-Date: 2025-04-07 00:27+0200\n"
 "Last-Translator: Shinjo Park <kde@peremen.name>\n"
 "Language-Team: Korean <kde-kr@kde.org>\n"
 "Language: ko\n"
@@ -15,7 +15,7 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Lokalize 21.12.3\n"
+"X-Generator: Lokalize 23.08.5\n"
 
 #: abstractnotificationsmodel.cpp:319
 #, kde-format
@@ -99,10 +99,10 @@
 #, kde-format
 msgctxt "@title"
 msgid "Unread Notifications"
-msgstr ""
+msgstr "읽지 않은 알림"
 
 #: notifications.cpp:864
 #, kde-format
 msgctxt "@info"
 msgid "%1 notifications were received while Do Not Disturb was active."
-msgstr ""
+msgstr "방해 금지 모드에 있을 때 알림 %1개를 받았습니다."
diff -Nru plasma-workspace-6.3.4/po/ko/plasma_applet_org.kde.plasma.devicenotifier.po plasma-workspace-6.3.5/po/ko/plasma_applet_org.kde.plasma.devicenotifier.po
--- plasma-workspace-6.3.4/po/ko/plasma_applet_org.kde.plasma.devicenotifier.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/ko/plasma_applet_org.kde.plasma.devicenotifier.po	2025-05-06 19:59:33.000000000 +0200
@@ -1,7 +1,7 @@
 # Translation of plasma_applet_devicenotifier to Korean.
 # Copyright (C) 2007-2008 This_file_is_part_of_KDE
 # This file is distributed under the same license as the kdebase package.
-# SPDX-FileCopyrightText: 2007, 2008, 2009, 2010, 2012, 2014, 2015, 2016, 2019, 2020, 2021, 2022, 2024 Shinjo Park <kde@peremen.name>
+# SPDX-FileCopyrightText: 2007, 2008, 2009, 2010, 2012, 2014, 2015, 2016, 2019, 2020, 2021, 2022, 2024, 2025 Shinjo Park <kde@peremen.name>
 #
 msgid ""
 msgstr ""
@@ -16,7 +16,7 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Lokalize 23.08.1\n"
+"X-Generator: Lokalize 23.08.5\n"
 
 #: package/contents/ui/DeviceItem.qml:98
 #, kde-format
diff -Nru plasma-workspace-6.3.4/po/ko/plasma_applet_org.kde.plasma.digitalclock.po plasma-workspace-6.3.5/po/ko/plasma_applet_org.kde.plasma.digitalclock.po
--- plasma-workspace-6.3.4/po/ko/plasma_applet_org.kde.plasma.digitalclock.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/ko/plasma_applet_org.kde.plasma.digitalclock.po	2025-05-06 19:59:33.000000000 +0200
@@ -1,6 +1,6 @@
 # Copyright (C) YEAR This_file_is_part_of_KDE
 # This file is distributed under the same license as the PACKAGE package.
-# SPDX-FileCopyrightText: 2014, 2015, 2016, 2018, 2019, 2020, 2021, 2022, 2023, 2024 Shinjo Park <kde@peremen.name>
+# SPDX-FileCopyrightText: 2014, 2015, 2016, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025 Shinjo Park <kde@peremen.name>
 #
 msgid ""
 msgstr ""
diff -Nru plasma-workspace-6.3.4/po/ko/plasma_applet_org.kde.plasma.mediacontroller.po plasma-workspace-6.3.5/po/ko/plasma_applet_org.kde.plasma.mediacontroller.po
--- plasma-workspace-6.3.4/po/ko/plasma_applet_org.kde.plasma.mediacontroller.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/ko/plasma_applet_org.kde.plasma.mediacontroller.po	2025-05-06 19:59:33.000000000 +0200
@@ -1,6 +1,6 @@
 # Copyright (C) YEAR This_file_is_part_of_KDE
 # This file is distributed under the same license as the PACKAGE package.
-# Shinjo Park <kde@peremen.name>, 2014, 2016, 2017, 2018, 2021, 2022, 2023.
+# SPDX-FileCopyrightText: 2014, 2016, 2017, 2018, 2021, 2022, 2023, 2025 Shinjo Park <kde@peremen.name>
 #
 msgid ""
 msgstr ""
@@ -15,7 +15,7 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Lokalize 22.12.3\n"
+"X-Generator: Lokalize 23.08.5\n"
 
 #: package/contents/ui/AlbumArtStackView.qml:202
 #, kde-format
diff -Nru plasma-workspace-6.3.4/po/ko/plasma_applet_org.kde.plasma.notifications.po plasma-workspace-6.3.5/po/ko/plasma_applet_org.kde.plasma.notifications.po
--- plasma-workspace-6.3.4/po/ko/plasma_applet_org.kde.plasma.notifications.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/ko/plasma_applet_org.kde.plasma.notifications.po	2025-05-06 19:59:33.000000000 +0200
@@ -1,6 +1,6 @@
 # Copyright (C) YEAR This_file_is_part_of_KDE
 # This file is distributed under the same license as the PACKAGE package.
-# SPDX-FileCopyrightText: 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024 Shinjo Park <kde@peremen.name>
+# SPDX-FileCopyrightText: 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025 Shinjo Park <kde@peremen.name>
 # JungHee Lee <daemul72@gmail.com>, 2019.
 #
 msgid ""
@@ -16,7 +16,7 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Lokalize 23.08.1\n"
+"X-Generator: Lokalize 23.08.5\n"
 
 #: fileinfo.cpp:170
 #, kde-format
diff -Nru plasma-workspace-6.3.4/po/ko/plasma_applet_org.kde.plasma.private.systemtray.po plasma-workspace-6.3.5/po/ko/plasma_applet_org.kde.plasma.private.systemtray.po
--- plasma-workspace-6.3.4/po/ko/plasma_applet_org.kde.plasma.private.systemtray.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/ko/plasma_applet_org.kde.plasma.private.systemtray.po	2025-05-06 19:59:33.000000000 +0200
@@ -1,6 +1,6 @@
 # Copyright (C) YEAR This_file_is_part_of_KDE
 # This file is distributed under the same license as the PACKAGE package.
-# SPDX-FileCopyrightText: 2014, 2015, 2017, 2019, 2020, 2021, 2022, 2023, 2024 Shinjo Park <kde@peremen.name>
+# SPDX-FileCopyrightText: 2014, 2015, 2017, 2019, 2020, 2021, 2022, 2023, 2024, 2025 Shinjo Park <kde@peremen.name>
 # JungHee Lee <daemul72@gmail.com>, 2019.
 #
 msgid ""
diff -Nru plasma-workspace-6.3.4/po/ko/plasma_lookandfeel_org.kde.lookandfeel.po plasma-workspace-6.3.5/po/ko/plasma_lookandfeel_org.kde.lookandfeel.po
--- plasma-workspace-6.3.4/po/ko/plasma_lookandfeel_org.kde.lookandfeel.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/ko/plasma_lookandfeel_org.kde.lookandfeel.po	2025-05-06 19:59:33.000000000 +0200
@@ -1,6 +1,6 @@
 # Copyright (C) YEAR This_file_is_part_of_KDE
 # This file is distributed under the same license as the PACKAGE package.
-# SPDX-FileCopyrightText: 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024 Shinjo Park <kde@peremen.name>
+# SPDX-FileCopyrightText: 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025 Shinjo Park <kde@peremen.name>
 # JungHee Lee <daemul72@gmail.com>, 2019.
 #
 msgid ""
@@ -8,7 +8,7 @@
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
 "POT-Creation-Date: 2024-12-31 00:42+0000\n"
-"PO-Revision-Date: 2024-11-28 23:48+0100\n"
+"PO-Revision-Date: 2025-04-07 00:29+0200\n"
 "Last-Translator: Shinjo Park <kde@peremen.name>\n"
 "Language-Team: Korean <kde-kr@kde.org>\n"
 "Language: ko\n"
@@ -71,32 +71,26 @@
 msgstr "컴퓨터를 다시 시작하면 부트 로더 메뉴 화면으로 진입합니다."
 
 #: contents/logout/Logout.qml:216
-#, fuzzy, kde-format
-#| msgctxt "Suspend to RAM"
-#| msgid "Sleep"
+#, kde-format
 msgctxt "Suspend to RAM"
 msgid "Slee&p"
-msgstr "대기 모드"
+msgstr "대기 모드(&P)"
 
 #: contents/logout/Logout.qml:217
-#, fuzzy, kde-format
-#| msgctxt "Suspend to RAM"
-#| msgid "Sleep Now"
+#, kde-format
 msgctxt "Suspend to RAM"
 msgid "Slee&p Now"
-msgstr "지금 대기 모드로 전환"
+msgstr "지금 대기 모드로 전환(&P)"
 
 #: contents/logout/Logout.qml:226
-#, fuzzy, kde-format
-#| msgid "Hibernate"
+#, kde-format
 msgid "&Hibernate"
-msgstr "최대 절전 모드"
+msgstr "최대 절전 모드(&H)"
 
 #: contents/logout/Logout.qml:227
-#, fuzzy, kde-format
-#| msgid "Hibernate Now"
+#, kde-format
 msgid "&Hibernate Now"
-msgstr "지금 최대 절전 모드로 전환"
+msgstr "지금 최대 절전 모드로 전환(&H)"
 
 #: contents/logout/Logout.qml:238
 #, kde-format
@@ -105,16 +99,14 @@
 msgstr "업데이트 설치 후 다시 시작"
 
 #: contents/logout/Logout.qml:240 contents/logout/Logout.qml:259
-#, fuzzy, kde-format
-#| msgid "Restart"
+#, kde-format
 msgid "&Restart"
-msgstr "다시 시작"
+msgstr "다시 시작(&R)"
 
 #: contents/logout/Logout.qml:241 contents/logout/Logout.qml:260
-#, fuzzy, kde-format
-#| msgid "Restart Now"
+#, kde-format
 msgid "&Restart Now"
-msgstr "지금 다시 시작"
+msgstr "지금 다시 시작(&R)"
 
 #: contents/logout/Logout.qml:273
 #, kde-format
@@ -123,34 +115,29 @@
 msgstr "업데이트 설치 후 컴퓨터 끄기"
 
 #: contents/logout/Logout.qml:275 contents/logout/Logout.qml:294
-#, fuzzy, kde-format
-#| msgid "Shut Down"
+#, kde-format
 msgid "&Shut Down"
-msgstr "컴퓨터 끄기"
+msgstr "컴퓨터 끄기(&S)"
 
 #: contents/logout/Logout.qml:276 contents/logout/Logout.qml:295
-#, fuzzy, kde-format
-#| msgid "Shut Down Now"
+#, kde-format
 msgid "&Shut Down Now"
-msgstr "지금 컴퓨터 끄기"
+msgstr "지금 컴퓨터 끄기(&S)"
 
 #: contents/logout/Logout.qml:307
-#, fuzzy, kde-format
-#| msgid "Log Out"
+#, kde-format
 msgid "&Log Out"
-msgstr "로그아웃"
+msgstr "로그아웃(&L)"
 
 #: contents/logout/Logout.qml:308
-#, fuzzy, kde-format
-#| msgid "Log Out Now"
+#, kde-format
 msgid "&Log Out Now"
-msgstr "지금 로그아웃"
+msgstr "지금 로그아웃(&L)"
 
 #: contents/logout/Logout.qml:318
-#, fuzzy, kde-format
-#| msgid "Cancel"
+#, kde-format
 msgid "&Cancel"
-msgstr "취소"
+msgstr "취소(&C)"
 
 #: contents/osd/OsdItem.qml:34
 #, kde-format
diff -Nru plasma-workspace-6.3.4/po/ko/plasma_runner_sessions.po plasma-workspace-6.3.5/po/ko/plasma_runner_sessions.po
--- plasma-workspace-6.3.4/po/ko/plasma_runner_sessions.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/ko/plasma_runner_sessions.po	2025-05-06 19:59:33.000000000 +0200
@@ -1,7 +1,7 @@
 # Translation of krunner_sessions to Korean.
 # Copyright (C) 2008 This_file_is_part_of_KDE
 # This file is distributed under the same license as the kdebase package.
-# Shinjo Park <kde@peremen.name>, 2008, 2009, 2011, 2019, 2020, 2022, 2023.
+# SPDX-FileCopyrightText: 2008, 2009, 2011, 2019, 2020, 2022, 2023, 2025 Shinjo Park <kde@peremen.name>
 #
 msgid ""
 msgstr ""
@@ -16,7 +16,7 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Lokalize 22.12.3\n"
+"X-Generator: Lokalize 23.08.5\n"
 
 #: sessionrunner.cpp:22
 #, kde-format
diff -Nru plasma-workspace-6.3.4/po/ko/plasmashell.po plasma-workspace-6.3.5/po/ko/plasmashell.po
--- plasma-workspace-6.3.4/po/ko/plasmashell.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/ko/plasmashell.po	2025-05-06 19:59:33.000000000 +0200
@@ -1,13 +1,13 @@
 # Copyright (C) YEAR This_file_is_part_of_KDE
 # This file is distributed under the same license as the PACKAGE package.
-# SPDX-FileCopyrightText: 2014, 2015, 2016, 2017, 2018, 2020, 2022, 2023, 2024 Shinjo Park <kde@peremen.name>
+# SPDX-FileCopyrightText: 2014, 2015, 2016, 2017, 2018, 2020, 2022, 2023, 2024, 2025 Shinjo Park <kde@peremen.name>
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
 "POT-Creation-Date: 2025-03-24 02:34+0000\n"
-"PO-Revision-Date: 2024-11-29 00:01+0100\n"
+"PO-Revision-Date: 2025-04-07 00:31+0200\n"
 "Last-Translator: Shinjo Park <kde@peremen.name>\n"
 "Language-Team: Korean <kde-kr@kde.org>\n"
 "Language: ko\n"
@@ -153,10 +153,9 @@
 msgstr "편집 모드 들어가기"
 
 #: desktopview.cpp:533
-#, fuzzy, kde-format
-#| msgid "Enter Edit Mode"
+#, kde-format
 msgid "Exit Edit Mode"
-msgstr "편집 모드 들어가기"
+msgstr "편집 모드 끝내기"
 
 #: main.cpp:86
 #, kde-format
@@ -402,11 +401,10 @@
 msgstr "활성 작업 관리자 항목 %1"
 
 #: shellcorona.cpp:312
-#, fuzzy, kde-format
-#| msgid "Manage Desktops And Panels..."
+#, kde-format
 msgctxt "@action:button"
 msgid "Manage Desktops and Panels…"
-msgstr "바탕 화면과 패널 관리..."
+msgstr "바탕 화면과 패널 관리…"
 
 #: shellcorona.cpp:334
 #, kde-format
diff -Nru plasma-workspace-6.3.4/po/ko/plasmashellprivateplugin.po plasma-workspace-6.3.5/po/ko/plasmashellprivateplugin.po
--- plasma-workspace-6.3.4/po/ko/plasmashellprivateplugin.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/ko/plasmashellprivateplugin.po	2025-05-06 19:59:33.000000000 +0200
@@ -1,13 +1,13 @@
 # Copyright (C) YEAR This_file_is_part_of_KDE
 # This file is distributed under the same license as the PACKAGE package.
-# SPDX-FileCopyrightText: 2014, 2016, 2019, 2020, 2021, 2022, 2023, 2024 Shinjo Park <kde@peremen.name>
+# SPDX-FileCopyrightText: 2014, 2016, 2019, 2020, 2021, 2022, 2023, 2024, 2025 Shinjo Park <kde@peremen.name>
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2025-01-04 00:42+0000\n"
-"PO-Revision-Date: 2024-11-29 00:01+0100\n"
+"POT-Creation-Date: 2025-04-23 02:36+0000\n"
+"PO-Revision-Date: 2025-04-07 00:31+0200\n"
 "Last-Translator: Shinjo Park <kde@peremen.name>\n"
 "Language-Team: Korean <kde-kr@kde.org>\n"
 "Language: ko\n"
@@ -62,13 +62,13 @@
 msgid "Other"
 msgstr "기타"
 
-#: calendar/qml/DayDelegate.qml:95
+#: calendar/qml/DayDelegate.qml:96
 #, kde-format
 msgid "%1 event"
 msgid_plural "%1 events"
 msgstr[0] "행사 %1개"
 
-#: calendar/qml/DayDelegate.qml:96
+#: calendar/qml/DayDelegate.qml:97
 #, kde-format
 msgid "No events"
 msgstr "행사 없음"
@@ -337,18 +337,13 @@
 msgstr "실행 중"
 
 #: shellprivate/widgetexplorer.cpp:156
-#, fuzzy, kde-format
-#| msgctxt ""
-#| "@item:inmenu used in the widget filter. Filter widgets that can be un-"
-#| "installed from the system, which are usually installed by the user to a "
-#| "local place."
-#| msgid "Uninstallable"
+#, kde-format
 msgctxt ""
 "@item:inmenu used in the widget filter. Filter widgets that can be un-"
 "installed from the system, which are usually installed by the user to a "
 "local place."
 msgid "User-installed"
-msgstr "삭제 가능"
+msgstr "사용자가 설치함"
 
 #: shellprivate/widgetexplorer.cpp:160
 #, kde-format
diff -Nru plasma-workspace-6.3.4/po/lt/plasma_applet_org.kde.plasma.notifications.po plasma-workspace-6.3.5/po/lt/plasma_applet_org.kde.plasma.notifications.po
--- plasma-workspace-6.3.4/po/lt/plasma_applet_org.kde.plasma.notifications.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/lt/plasma_applet_org.kde.plasma.notifications.po	2025-05-06 19:59:33.000000000 +0200
@@ -13,7 +13,7 @@
 "Project-Id-Version: plasma_applet_notifications\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
 "POT-Creation-Date: 2025-03-31 02:33+0000\n"
-"PO-Revision-Date: 2024-02-03 01:55+0200\n"
+"PO-Revision-Date: 2025-04-28 00:38+0300\n"
 "Last-Translator: Moo\n"
 "Language-Team: Lithuanian <kde-i18n-lt@kde.org>\n"
 "Language: lt\n"
@@ -22,7 +22,7 @@
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : n%10>=2 && (n%100<10 || n"
 "%100>=20) ? 1 : n%10==0 || (n%100>10 && n%100<20) ? 2 : 3);\n"
-"X-Generator: Poedit 3.0.1\n"
+"X-Generator: Poedit 3.5\n"
 
 #: fileinfo.cpp:170
 #, kde-format
@@ -450,7 +450,7 @@
 msgid "Do not disturb until %1; middle-click to exit now"
 msgstr ""
 "Netrukdyti iki %1; spustelėkite viduriniuoju pelės mygtuku norėdami dabar "
-"išeiti"
+"išjungti"
 
 #: package/contents/ui/main.qml:101
 #, kde-format
diff -Nru plasma-workspace-6.3.4/po/lt/plasmashellprivateplugin.po plasma-workspace-6.3.5/po/lt/plasmashellprivateplugin.po
--- plasma-workspace-6.3.4/po/lt/plasmashellprivateplugin.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/lt/plasmashellprivateplugin.po	2025-05-06 19:59:33.000000000 +0200
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: trunk-kf 5\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2025-01-04 00:42+0000\n"
+"POT-Creation-Date: 2025-04-23 02:36+0000\n"
 "PO-Revision-Date: 2025-01-27 16:13+0200\n"
 "Last-Translator: Moo <<>>\n"
 "Language-Team: Lithuanian <kde-i18n-lt@kde.org>\n"
@@ -66,7 +66,7 @@
 msgid "Other"
 msgstr "Kita"
 
-#: calendar/qml/DayDelegate.qml:95
+#: calendar/qml/DayDelegate.qml:96
 #, kde-format
 msgid "%1 event"
 msgid_plural "%1 events"
@@ -75,7 +75,7 @@
 msgstr[2] "%1 įvykių"
 msgstr[3] "%1 įvykis"
 
-#: calendar/qml/DayDelegate.qml:96
+#: calendar/qml/DayDelegate.qml:97
 #, kde-format
 msgid "No events"
 msgstr "Nėra įvykių"
diff -Nru plasma-workspace-6.3.4/po/lv/plasmashellprivateplugin.po plasma-workspace-6.3.5/po/lv/plasmashellprivateplugin.po
--- plasma-workspace-6.3.4/po/lv/plasmashellprivateplugin.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/lv/plasmashellprivateplugin.po	2025-05-06 19:59:33.000000000 +0200
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: plasma-workspace\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2025-01-04 00:42+0000\n"
+"POT-Creation-Date: 2025-04-23 02:36+0000\n"
 "PO-Revision-Date: 2024-10-29 12:42+0200\n"
 "Last-Translator: Toms Trasuns <toms.trasuns@posteo.net>\n"
 "Language-Team: Latvian <kde-i18n-doc@kde.org>\n"
@@ -63,7 +63,7 @@
 msgid "Other"
 msgstr "Citi"
 
-#: calendar/qml/DayDelegate.qml:95
+#: calendar/qml/DayDelegate.qml:96
 #, kde-format
 msgid "%1 event"
 msgid_plural "%1 events"
@@ -71,7 +71,7 @@
 msgstr[1] "%1 notikumi"
 msgstr[2] "%1 notikumu"
 
-#: calendar/qml/DayDelegate.qml:96
+#: calendar/qml/DayDelegate.qml:97
 #, kde-format
 msgid "No events"
 msgstr "Nav notikumu"
diff -Nru plasma-workspace-6.3.4/po/ml/plasmashellprivateplugin.po plasma-workspace-6.3.5/po/ml/plasmashellprivateplugin.po
--- plasma-workspace-6.3.4/po/ml/plasmashellprivateplugin.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/ml/plasmashellprivateplugin.po	2025-05-06 19:59:33.000000000 +0200
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: plasma-workspace\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2025-01-04 00:42+0000\n"
+"POT-Creation-Date: 2025-04-23 02:36+0000\n"
 "PO-Revision-Date: 2021-08-12 11:59+0000\n"
 "Last-Translator: Vivek K J <vivekkj2004@gmail.com>\n"
 "Language-Team: Swathanthra|സ്വതന്ത്ര Malayalam|മലയാളം Computing|കമ്പ്യൂട്ടിങ്ങ് <smc."
@@ -64,14 +64,14 @@
 msgid "Other"
 msgstr ""
 
-#: calendar/qml/DayDelegate.qml:95
+#: calendar/qml/DayDelegate.qml:96
 #, kde-format
 msgid "%1 event"
 msgid_plural "%1 events"
 msgstr[0] ""
 msgstr[1] ""
 
-#: calendar/qml/DayDelegate.qml:96
+#: calendar/qml/DayDelegate.qml:97
 #, kde-format
 msgid "No events"
 msgstr ""
diff -Nru plasma-workspace-6.3.4/po/nb/plasmashellprivateplugin.po plasma-workspace-6.3.5/po/nb/plasmashellprivateplugin.po
--- plasma-workspace-6.3.4/po/nb/plasmashellprivateplugin.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/nb/plasmashellprivateplugin.po	2025-05-06 19:59:33.000000000 +0200
@@ -5,7 +5,7 @@
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2025-01-04 00:42+0000\n"
+"POT-Creation-Date: 2025-04-23 02:36+0000\n"
 "PO-Revision-Date: 2025-03-02 12:50+0100\n"
 "Last-Translator: Martin Hansen <mh306602@gmail.com>\n"
 "Language-Team: Norwegian Bokmål <l10n-no@lister.huftis.org>\n"
@@ -64,14 +64,14 @@
 msgid "Other"
 msgstr "Annet"
 
-#: calendar/qml/DayDelegate.qml:95
+#: calendar/qml/DayDelegate.qml:96
 #, kde-format
 msgid "%1 event"
 msgid_plural "%1 events"
 msgstr[0] "%1 hendelse"
 msgstr[1] "%1 hendelser"
 
-#: calendar/qml/DayDelegate.qml:96
+#: calendar/qml/DayDelegate.qml:97
 #, kde-format
 msgid "No events"
 msgstr "Ingen hendelser"
diff -Nru plasma-workspace-6.3.4/po/nds/plasmashellprivateplugin.po plasma-workspace-6.3.5/po/nds/plasmashellprivateplugin.po
--- plasma-workspace-6.3.4/po/nds/plasmashellprivateplugin.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/nds/plasmashellprivateplugin.po	2025-05-06 19:59:33.000000000 +0200
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2025-01-04 00:42+0000\n"
+"POT-Creation-Date: 2025-04-23 02:36+0000\n"
 "PO-Revision-Date: 2014-09-18 16:18+0200\n"
 "Last-Translator: Sönke Dibbern <s_dibbern@web.de>\n"
 "Language-Team: Low Saxon <kde-i18n-nds@kde.org>\n"
@@ -62,14 +62,14 @@
 msgid "Other"
 msgstr ""
 
-#: calendar/qml/DayDelegate.qml:95
+#: calendar/qml/DayDelegate.qml:96
 #, kde-format
 msgid "%1 event"
 msgid_plural "%1 events"
 msgstr[0] ""
 msgstr[1] ""
 
-#: calendar/qml/DayDelegate.qml:96
+#: calendar/qml/DayDelegate.qml:97
 #, kde-format
 msgid "No events"
 msgstr ""
diff -Nru plasma-workspace-6.3.4/po/nl/plasmashellprivateplugin.po plasma-workspace-6.3.5/po/nl/plasmashellprivateplugin.po
--- plasma-workspace-6.3.4/po/nl/plasmashellprivateplugin.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/nl/plasmashellprivateplugin.po	2025-05-06 19:59:33.000000000 +0200
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2025-01-04 00:42+0000\n"
+"POT-Creation-Date: 2025-04-23 02:36+0000\n"
 "PO-Revision-Date: 2025-01-04 15:02+0100\n"
 "Last-Translator: Freek de Kruijf <freekdekruijf@kde.nl>\n"
 "Language-Team: \n"
@@ -62,14 +62,14 @@
 msgid "Other"
 msgstr "Overig"
 
-#: calendar/qml/DayDelegate.qml:95
+#: calendar/qml/DayDelegate.qml:96
 #, kde-format
 msgid "%1 event"
 msgid_plural "%1 events"
 msgstr[0] "%1 gebeurtenis"
 msgstr[1] "%1 gebeurtenissen"
 
-#: calendar/qml/DayDelegate.qml:96
+#: calendar/qml/DayDelegate.qml:97
 #, kde-format
 msgid "No events"
 msgstr "Geen gebeurtenissen"
diff -Nru plasma-workspace-6.3.4/po/nn/plasma_applet_org.kde.plasma.digitalclock.po plasma-workspace-6.3.5/po/nn/plasma_applet_org.kde.plasma.digitalclock.po
--- plasma-workspace-6.3.4/po/nn/plasma_applet_org.kde.plasma.digitalclock.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/nn/plasma_applet_org.kde.plasma.digitalclock.po	2025-05-06 19:59:33.000000000 +0200
@@ -6,7 +6,7 @@
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
 "POT-Creation-Date: 2025-03-08 02:50+0000\n"
-"PO-Revision-Date: 2024-09-01 15:07+0200\n"
+"PO-Revision-Date: 2025-05-03 11:13+0200\n"
 "Last-Translator: Karl Ove Hufthammer <karl@huftis.org>\n"
 "Language-Team: Norwegian Nynorsk <l10n-no@lister.huftis.org>\n"
 "Language: nn\n"
@@ -17,7 +17,7 @@
 "X-Accelerator-Marker: &\n"
 "X-Text-Markup: kde4\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Lokalize 24.08.0\n"
+"X-Generator: Lokalize 25.07.70\n"
 
 #: package/contents/config/config.qml:20
 #, kde-format
@@ -266,6 +266,7 @@
 msgctxt "@info"
 msgid "Note: size may be reduced if the panel is not thick enough."
 msgstr ""
+"Merk: Storleiken kan verta redusert dersom panelet ikkje er breitt nok."
 
 #: package/contents/ui/configAppearance.qml:296
 #, kde-format
@@ -416,6 +417,8 @@
 msgid ""
 "Time zone is not set; click here to open Date & Time settings and set one"
 msgstr ""
+"Tidssone er ikkje valt. Trykk her for å opna «Dato og klokkeslett»-"
+"innstillingar og velja ei sone."
 
 #: package/contents/ui/Tooltip.qml:34
 #, kde-format
@@ -424,11 +427,11 @@
 msgstr "I dag er %1"
 
 #: package/contents/ui/Tooltip.qml:65
-#, fuzzy, kde-format
+#, kde-format
 msgctxt ""
 "@label main text shown in digital clock's tooltip when timezone is missing"
 msgid "Time zone is not set"
-msgstr "Tidssoner"
+msgstr "Tidssone er ikkje valt"
 
 #: package/contents/ui/Tooltip.qml:86
 #, kde-format
@@ -436,6 +439,8 @@
 "@label sub text shown in digital clock's tooltip when timezone is missing"
 msgid "Click the clock icon to open Date & Time settings and set a time zone."
 msgstr ""
+"Trykk på klokkeikonet for opna «Data og klokkeslett»-innstillingane og velja "
+"ei tidssone."
 
 #: package/contents/ui/Tooltip.qml:131
 #, kde-format
diff -Nru plasma-workspace-6.3.4/po/nn/plasmashell.po plasma-workspace-6.3.5/po/nn/plasmashell.po
--- plasma-workspace-6.3.4/po/nn/plasmashell.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/nn/plasmashell.po	2025-05-06 19:59:33.000000000 +0200
@@ -157,7 +157,6 @@
 
 #: desktopview.cpp:533
 #, fuzzy, kde-format
-#| msgid "Enter Edit Mode"
 msgid "Exit Edit Mode"
 msgstr "Start tilpassing"
 
diff -Nru plasma-workspace-6.3.4/po/nn/plasmashellprivateplugin.po plasma-workspace-6.3.5/po/nn/plasmashellprivateplugin.po
--- plasma-workspace-6.3.4/po/nn/plasmashellprivateplugin.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/nn/plasmashellprivateplugin.po	2025-05-06 19:59:33.000000000 +0200
@@ -4,7 +4,7 @@
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2025-01-04 00:42+0000\n"
+"POT-Creation-Date: 2025-04-23 02:36+0000\n"
 "PO-Revision-Date: 2024-09-01 15:09+0200\n"
 "Last-Translator: Karl Ove Hufthammer <karl@huftis.org>\n"
 "Language-Team: Norwegian Nynorsk <l10n-no@lister.huftis.org>\n"
@@ -63,14 +63,14 @@
 msgid "Other"
 msgstr "Anna"
 
-#: calendar/qml/DayDelegate.qml:95
+#: calendar/qml/DayDelegate.qml:96
 #, kde-format
 msgid "%1 event"
 msgid_plural "%1 events"
 msgstr[0] "%1 hending"
 msgstr[1] "%1 hendingar"
 
-#: calendar/qml/DayDelegate.qml:96
+#: calendar/qml/DayDelegate.qml:97
 #, kde-format
 msgid "No events"
 msgstr "Ingen hendingar"
diff -Nru plasma-workspace-6.3.4/po/pa/plasmashellprivateplugin.po plasma-workspace-6.3.5/po/pa/plasmashellprivateplugin.po
--- plasma-workspace-6.3.4/po/pa/plasmashellprivateplugin.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/pa/plasmashellprivateplugin.po	2025-05-06 19:59:33.000000000 +0200
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2025-01-04 00:42+0000\n"
+"POT-Creation-Date: 2025-04-23 02:36+0000\n"
 "PO-Revision-Date: 2024-10-01 21:17-0500\n"
 "Last-Translator: A S Alam <aman@punlinux.org>\n"
 "Language-Team: pa\n"
@@ -62,14 +62,14 @@
 msgid "Other"
 msgstr "ਹੋਰ"
 
-#: calendar/qml/DayDelegate.qml:95
+#: calendar/qml/DayDelegate.qml:96
 #, kde-format
 msgid "%1 event"
 msgid_plural "%1 events"
 msgstr[0] "%1 ਘਟਨਾ"
 msgstr[1] "%1 ਘਟਨਾਵਾਂ"
 
-#: calendar/qml/DayDelegate.qml:96
+#: calendar/qml/DayDelegate.qml:97
 #, kde-format
 msgid "No events"
 msgstr "ਕੋਈ ਘਟਨਾ ਨਹੀਂ"
diff -Nru plasma-workspace-6.3.4/po/pl/plasmashellprivateplugin.po plasma-workspace-6.3.5/po/pl/plasmashellprivateplugin.po
--- plasma-workspace-6.3.4/po/pl/plasmashellprivateplugin.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/pl/plasmashellprivateplugin.po	2025-05-06 19:59:33.000000000 +0200
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2025-01-04 00:42+0000\n"
+"POT-Creation-Date: 2025-04-23 02:36+0000\n"
 "PO-Revision-Date: 2025-01-11 11:32+0100\n"
 "Last-Translator: Łukasz Wojniłowicz <lukasz.wojnilowicz@gmail.com>\n"
 "Language-Team: Polish <kde-i18n-doc@kde.org>\n"
@@ -64,7 +64,7 @@
 msgid "Other"
 msgstr "Inne"
 
-#: calendar/qml/DayDelegate.qml:95
+#: calendar/qml/DayDelegate.qml:96
 #, kde-format
 msgid "%1 event"
 msgid_plural "%1 events"
@@ -72,7 +72,7 @@
 msgstr[1] "%1 wydarzenia"
 msgstr[2] "%1 wydarzeń"
 
-#: calendar/qml/DayDelegate.qml:96
+#: calendar/qml/DayDelegate.qml:97
 #, kde-format
 msgid "No events"
 msgstr "Brak wydarzeń"
diff -Nru plasma-workspace-6.3.4/po/pt/plasmashellprivateplugin.po plasma-workspace-6.3.5/po/pt/plasmashellprivateplugin.po
--- plasma-workspace-6.3.4/po/pt/plasmashellprivateplugin.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/pt/plasmashellprivateplugin.po	2025-05-06 19:59:33.000000000 +0200
@@ -2,7 +2,7 @@
 msgstr ""
 "Project-Id-Version: plasmashellprivateplugin\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2025-01-04 00:42+0000\n"
+"POT-Creation-Date: 2025-04-23 02:36+0000\n"
 "PO-Revision-Date: 2023-01-19 02:31+0000\n"
 "Last-Translator: José Nuno Coelho Pires <zepires@gmail.com>\n"
 "Language-Team: Portuguese <kde-i18n-pt@kde.org>\n"
@@ -58,14 +58,14 @@
 msgid "Other"
 msgstr "Outros"
 
-#: calendar/qml/DayDelegate.qml:95
+#: calendar/qml/DayDelegate.qml:96
 #, kde-format
 msgid "%1 event"
 msgid_plural "%1 events"
 msgstr[0] "%1 evento"
 msgstr[1] "%1 eventos"
 
-#: calendar/qml/DayDelegate.qml:96
+#: calendar/qml/DayDelegate.qml:97
 #, kde-format
 msgid "No events"
 msgstr "Sem eventos"
diff -Nru plasma-workspace-6.3.4/po/pt_BR/plasmashellprivateplugin.po plasma-workspace-6.3.5/po/pt_BR/plasmashellprivateplugin.po
--- plasma-workspace-6.3.4/po/pt_BR/plasmashellprivateplugin.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/pt_BR/plasmashellprivateplugin.po	2025-05-06 19:59:33.000000000 +0200
@@ -10,7 +10,7 @@
 msgstr ""
 "Project-Id-Version: plasmashellprivateplugin\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2025-01-04 00:42+0000\n"
+"POT-Creation-Date: 2025-04-23 02:36+0000\n"
 "PO-Revision-Date: 2025-02-03 08:04-0300\n"
 "Last-Translator: Geraldo Simiao <geraldosimiao@fedoraproject.org>\n"
 "Language-Team: Brazilian Portuguese <kde-i18n-pt_BR@kde.org>\n"
@@ -67,14 +67,14 @@
 msgid "Other"
 msgstr "Outros"
 
-#: calendar/qml/DayDelegate.qml:95
+#: calendar/qml/DayDelegate.qml:96
 #, kde-format
 msgid "%1 event"
 msgid_plural "%1 events"
 msgstr[0] "%1 evento"
 msgstr[1] "%1 eventos"
 
-#: calendar/qml/DayDelegate.qml:96
+#: calendar/qml/DayDelegate.qml:97
 #, kde-format
 msgid "No events"
 msgstr "Nenhum evento"
diff -Nru plasma-workspace-6.3.4/po/ro/plasmashellprivateplugin.po plasma-workspace-6.3.5/po/ro/plasmashellprivateplugin.po
--- plasma-workspace-6.3.4/po/ro/plasmashellprivateplugin.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/ro/plasmashellprivateplugin.po	2025-05-06 19:59:33.000000000 +0200
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: plasma-workspace\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2025-01-04 00:42+0000\n"
+"POT-Creation-Date: 2025-04-23 02:36+0000\n"
 "PO-Revision-Date: 2024-06-08 17:19+0100\n"
 "Last-Translator: Sergiu Bivol <sergiu@cip.md>\n"
 "Language-Team: Romanian <kde-i18n-ro@kde.org>\n"
@@ -63,7 +63,7 @@
 msgid "Other"
 msgstr "Altele"
 
-#: calendar/qml/DayDelegate.qml:95
+#: calendar/qml/DayDelegate.qml:96
 #, kde-format
 msgid "%1 event"
 msgid_plural "%1 events"
@@ -71,7 +71,7 @@
 msgstr[1] "%1 evenimente"
 msgstr[2] "%1 de evenimente"
 
-#: calendar/qml/DayDelegate.qml:96
+#: calendar/qml/DayDelegate.qml:97
 #, kde-format
 msgid "No events"
 msgstr "Niciun eveniment"
diff -Nru plasma-workspace-6.3.4/po/ru/kded_geotimezoned.po plasma-workspace-6.3.5/po/ru/kded_geotimezoned.po
--- plasma-workspace-6.3.4/po/ru/kded_geotimezoned.po	1970-01-01 01:00:00.000000000 +0100
+++ plasma-workspace-6.3.5/po/ru/kded_geotimezoned.po	2025-05-06 19:59:33.000000000 +0200
@@ -0,0 +1,43 @@
+# Copyright (C) 2025 This file is copyright:
+# This file is distributed under the same license as the plasma-workspace package.
+#
+# SPDX-FileCopyrightText: 2025 Olesya Gerasimenko <translation-team@basealt.ru>
+msgid ""
+msgstr ""
+"Project-Id-Version: plasma-workspace\n"
+"Report-Msgid-Bugs-To: https://bugs.kde.org\n";
+"POT-Creation-Date: 2025-01-10 02:00+0000\n"
+"PO-Revision-Date: 2025-04-08 09:20+0300\n"
+"Last-Translator: Olesya Gerasimenko <translation-team@basealt.ru>\n"
+"Language-Team: Basealt Translation Team\n"
+"Language: ru\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n"
+"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+"X-Generator: Lokalize 23.08.5\n"
+
+#: geotimezonemodule.cpp:187
+#, kde-format
+msgctxt "OSD, keep short"
+msgid "Time zone changed to %1"
+msgstr "Новый часовой пояс: %1"
+
+#: geotimezonemodule.cpp:190
+#, kde-format
+msgctxt ""
+"System clock was changed due to time zone change OSD, keep short: new time "
+"(time zone)"
+msgid "Clock changed to %1 (%2)"
+msgstr "Новое время: %1 (%2)"
+
+#: geotimezonemodule.cpp:206
+#, kde-format
+msgid "Refresh is already in progress."
+msgstr "Обновление уже выполняется."
+
+#: geotimezonemodule.cpp:269
+#, kde-format
+msgid "Received no or an invalid time zone."
+msgstr "Данные о часовом поясе отсутствуют или некорректны."
diff -Nru plasma-workspace-6.3.4/po/ru/klipper.po plasma-workspace-6.3.5/po/ru/klipper.po
--- plasma-workspace-6.3.4/po/ru/klipper.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/ru/klipper.po	2025-05-06 19:59:33.000000000 +0200
@@ -14,14 +14,14 @@
 # Nick Shaforostoff <shaforostoff@kde.ru>, 2009.
 # Alexander Potashev <aspotashev@gmail.com>, 2010, 2014, 2017.
 # Yuri Efremov <yur.arh@gmail.com>, 2011, 2012, 2013.
-# SPDX-FileCopyrightText: 2022, 2024 Olesya Gerasimenko <translation-team@basealt.ru>
+# SPDX-FileCopyrightText: 2022, 2024, 2025 Olesya Gerasimenko <translation-team@basealt.ru>
 # Alexander Yavorsky <kekcuha@gmail.com>, 2024.
 msgid ""
 msgstr ""
 "Project-Id-Version: klipper\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
 "POT-Creation-Date: 2025-02-26 02:36+0000\n"
-"PO-Revision-Date: 2024-09-26 12:06+0300\n"
+"PO-Revision-Date: 2025-04-08 09:47+0300\n"
 "Last-Translator: Olesya Gerasimenko <translation-team@basealt.ru>\n"
 "Language-Team: Basealt Translation Team\n"
 "Language: ru\n"
@@ -51,17 +51,14 @@
 msgstr "Журнал буфера обмена:"
 
 #: configdialog.cpp:89
-#, fuzzy, kde-format
-#| msgctxt "Number of entries"
-#| msgid " entry"
-#| msgid_plural " entries"
+#, kde-format
 msgctxt "Number of entries"
 msgid "%v entry"
 msgid_plural "%v entries"
-msgstr[0] " запись"
-msgstr[1] " записи"
-msgstr[2] " записей"
-msgstr[3] " запись"
+msgstr[0] "%v запись"
+msgstr[1] "%v записи"
+msgstr[2] "%v записей"
+msgstr[3] "%v запись"
 
 #: configdialog.cpp:98
 #, kde-format
@@ -165,17 +162,14 @@
 msgstr "Исключить окна…"
 
 #: configdialog.cpp:295
-#, fuzzy, kde-format
-#| msgctxt "Unit of time"
-#| msgid " second"
-#| msgid_plural " seconds"
+#, kde-format
 msgctxt "Unit of time"
 msgid "%v second"
 msgid_plural "%v seconds"
-msgstr[0] " секунда"
-msgstr[1] " секунды"
-msgstr[2] " секунд"
-msgstr[3] " секунда"
+msgstr[0] "%v секунда"
+msgstr[1] "%v секунды"
+msgstr[2] "%v секунд"
+msgstr[3] "%v секунда"
 
 #: configdialog.cpp:296
 #, kde-format
@@ -392,13 +386,13 @@
 #, kde-format
 msgctxt "@action:button"
 msgid "Collapse"
-msgstr ""
+msgstr "Свернуть"
 
 #: declarative/qml/ClipboardItemDelegate.qml:180
 #, kde-format
 msgctxt "@action:button"
 msgid "Expand"
-msgstr ""
+msgstr "Развернуть"
 
 #: declarative/qml/ClipboardMenu.qml:191
 #, kde-format
@@ -664,11 +658,10 @@
 msgstr "Очистить журнал буфера обмена"
 
 #: historymodel.cpp:262
-#, fuzzy, kde-format
-#| msgid "%1x%2 %3bpp"
+#, kde-format
 msgctxt "@info:tooltip width x height"
 msgid "%1x%2"
-msgstr "%1×%2 %3bpp"
+msgstr "%1x%2"
 
 #: klipper.cpp:91
 #, kde-format
diff -Nru plasma-workspace-6.3.4/po/ru/ksmserver.po plasma-workspace-6.3.5/po/ru/ksmserver.po
--- plasma-workspace-6.3.4/po/ru/ksmserver.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/ru/ksmserver.po	2025-05-06 19:59:33.000000000 +0200
@@ -13,19 +13,20 @@
 # Yuri Efremov <yur.arh@gmail.com>, 2012, 2013.
 # Victor Ryzhykh <victorr2007@yandex.ru>, 2016.
 # Alexander Yavorsky <kekcuha@gmail.com>, 2018, 2020, 2023.
+# SPDX-FileCopyrightText: 2025 Olesya Gerasimenko <translation-team@basealt.ru>
 msgid ""
 msgstr ""
 "Project-Id-Version: ksmserver\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
 "POT-Creation-Date: 2025-01-09 00:42+0000\n"
-"PO-Revision-Date: 2023-12-24 18:01+0300\n"
-"Last-Translator: Alexander Yavorsky <kekcuha@gmail.com>\n"
-"Language-Team: Russian <kde-russian@lists.kde.ru>\n"
+"PO-Revision-Date: 2025-04-08 09:48+0300\n"
+"Last-Translator: Olesya Gerasimenko <translation-team@basealt.ru>\n"
+"Language-Team: Basealt Translation Team\n"
 "Language: ru\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Lokalize 21.08.3\n"
+"X-Generator: Lokalize 23.08.5\n"
 "Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n"
 "%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
 "X-Environment: kde\n"
@@ -53,7 +54,7 @@
 #, kde-format
 msgctxt "@info:status"
 msgid "Session is exiting"
-msgstr ""
+msgstr "Выполняется выход из сеанса"
 
 #: main.cpp:72 main.cpp:80
 #, kde-format
diff -Nru plasma-workspace-6.3.4/po/ru/libkicker.po plasma-workspace-6.3.5/po/ru/libkicker.po
--- plasma-workspace-6.3.4/po/ru/libkicker.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/ru/libkicker.po	2025-05-06 19:59:33.000000000 +0200
@@ -5,21 +5,22 @@
 # Yuri Efremov <yur.arh@gmail.com>, 2013.
 # Alexander Potashev <aspotashev@gmail.com>, 2014, 2015, 2016, 2017, 2019.
 # Alexander Yavorsky <kekcuha@gmail.com>, 2024.
+# SPDX-FileCopyrightText: 2025 Olesya Gerasimenko <translation-team@basealt.ru>
 msgid ""
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
 "POT-Creation-Date: 2025-02-03 02:32+0000\n"
-"PO-Revision-Date: 2024-09-21 11:53+0300\n"
-"Last-Translator: Alexander Yavorsky <kekcuha@gmail.com>\n"
-"Language-Team: Russian <kde-russian@lists.kde.ru>\n"
+"PO-Revision-Date: 2025-04-08 09:48+0300\n"
+"Last-Translator: Olesya Gerasimenko <translation-team@basealt.ru>\n"
+"Language-Team: Basealt Translation Team\n"
 "Language: ru\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n"
 "%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Generator: Lokalize 21.08.3\n"
+"X-Generator: Lokalize 23.08.5\n"
 
 #: plugin/actionlist.cpp:85
 #, kde-format
@@ -140,10 +141,9 @@
 msgstr "Убрать приложение"
 
 #: plugin/recentusagemodel.cpp:313
-#, fuzzy, kde-format
-#| msgid "Folder"
+#, kde-format
 msgid "Folders"
-msgstr "Папка"
+msgstr "Папки"
 
 #: plugin/recentusagemodel.cpp:350
 #, kde-format
diff -Nru plasma-workspace-6.3.4/po/ru/libnotificationmanager.po plasma-workspace-6.3.5/po/ru/libnotificationmanager.po
--- plasma-workspace-6.3.4/po/ru/libnotificationmanager.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/ru/libnotificationmanager.po	2025-05-06 19:59:33.000000000 +0200
@@ -2,22 +2,22 @@
 # This file is distributed under the same license as the plasma-workspace package.
 #
 # SPDX-FileCopyrightText: 2019, 2024 Alexander Yavorsky <kekcuha@gmail.com>
-# Olesya Gerasimenko <translation-team@basealt.ru>, 2022.
+# SPDX-FileCopyrightText: 2022, 2025 Olesya Gerasimenko <translation-team@basealt.ru>
 msgid ""
 msgstr ""
 "Project-Id-Version: plasma-workspace\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
 "POT-Creation-Date: 2025-03-05 03:13+0000\n"
-"PO-Revision-Date: 2024-02-04 19:13+0300\n"
-"Last-Translator: Alexander Yavorsky <kekcuha@gmail.com>\n"
-"Language-Team: Russian <kde-russian@lists.kde.ru>\n"
+"PO-Revision-Date: 2025-04-08 09:49+0300\n"
+"Last-Translator: Olesya Gerasimenko <translation-team@basealt.ru>\n"
+"Language-Team: Basealt Translation Team\n"
 "Language: ru\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n"
 "%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Generator: Lokalize 23.08.4\n"
+"X-Generator: Lokalize 23.08.5\n"
 
 #: abstractnotificationsmodel.cpp:319
 #, kde-format
@@ -122,10 +122,12 @@
 #, kde-format
 msgctxt "@title"
 msgid "Unread Notifications"
-msgstr ""
+msgstr "Непрочитанные уведомления"
 
 #: notifications.cpp:864
 #, kde-format
 msgctxt "@info"
 msgid "%1 notifications were received while Do Not Disturb was active."
 msgstr ""
+"Количество уведомлений, полученных во время работы режима «Не беспокоить»: "
+"%1."
diff -Nru plasma-workspace-6.3.4/po/ru/oom-notifier.po plasma-workspace-6.3.5/po/ru/oom-notifier.po
--- plasma-workspace-6.3.4/po/ru/oom-notifier.po	1970-01-01 01:00:00.000000000 +0100
+++ plasma-workspace-6.3.5/po/ru/oom-notifier.po	2025-05-06 19:59:33.000000000 +0200
@@ -0,0 +1,55 @@
+# Copyright (C) 2025 This file is copyright:
+# This file is distributed under the same license as the plasma-workspace package.
+#
+# SPDX-FileCopyrightText: 2025 Olesya Gerasimenko <translation-team@basealt.ru>
+msgid ""
+msgstr ""
+"Project-Id-Version: plasma-workspace\n"
+"Report-Msgid-Bugs-To: https://bugs.kde.org\n";
+"POT-Creation-Date: 2024-10-29 00:41+0000\n"
+"PO-Revision-Date: 2025-04-08 09:25+0300\n"
+"Last-Translator: Olesya Gerasimenko <translation-team@basealt.ru>\n"
+"Language-Team: Basealt Translation Team\n"
+"Language: ru\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n"
+"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+"X-Generator: Lokalize 23.08.5\n"
+
+#: module.cpp:65
+#, kde-format
+msgctxt "@title"
+msgid "Memory Shortage Avoided"
+msgstr "Предотвращение нехватки памяти"
+
+#: module.cpp:68
+#, kde-kuit-format
+msgctxt "@info"
+msgid ""
+"<command>%1</command> has been terminated by the Linux kernel because the "
+"system is low on memory. Consider closing unused applications or browser "
+"tabs."
+msgstr ""
+"Работа <command>%1</command> прекращена ядром Linux из-за угрозы нехватки "
+"памяти в системе. Рекомендуется закрыть неиспользуемые приложения или "
+"вкладки браузера."
+
+#: module.cpp:74
+#, kde-kuit-format
+msgctxt "@info"
+msgid ""
+"The background service <command>%1</command> has been terminated by the "
+"Linux kernel because the system is low on memory. Consider closing unused "
+"applications or browser tabs."
+msgstr ""
+"Работа фоновой службы <command>%1</command> прекращена ядром Linux из-за "
+"угрозы нехватки памяти в системе. Рекомендуется закрыть неиспользуемые "
+"приложения или вкладки браузера."
+
+#: module.cpp:82
+#, kde-format
+msgctxt "@action"
+msgid "Restart Application"
+msgstr "Перезапустить приложение"
diff -Nru plasma-workspace-6.3.4/po/ru/plasmashell.po plasma-workspace-6.3.5/po/ru/plasmashell.po
--- plasma-workspace-6.3.4/po/ru/plasmashell.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/ru/plasmashell.po	2025-05-06 19:59:33.000000000 +0200
@@ -11,21 +11,21 @@
 # Andrey Cherepanov <skull@kde.ru>, 2009.
 # Yuri Efremov <yur.arh@gmail.com>, 2010, 2011, 2012, 2013.
 # Alexander Lakhin <exclusion@gmail.com>, 2013.
-# Olesya Gerasimenko <translation-team@basealt.ru>, 2022.
+# SPDX-FileCopyrightText: 2022, 2025 Olesya Gerasimenko <translation-team@basealt.ru>
 # Alexander Yavorsky <kekcuha@gmail.com>, 2023, 2024, 2025.
 msgid ""
 msgstr ""
 "Project-Id-Version: plasma\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
 "POT-Creation-Date: 2025-03-24 02:34+0000\n"
-"PO-Revision-Date: 2025-01-27 11:22+0300\n"
-"Last-Translator: Alexander Yavorsky <kekcuha@gmail.com>\n"
-"Language-Team: Russian <kde-russian@lists.kde.ru>\n"
+"PO-Revision-Date: 2025-04-08 09:54+0300\n"
+"Last-Translator: Olesya Gerasimenko <translation-team@basealt.ru>\n"
+"Language-Team: Basealt Translation Team\n"
 "Language: ru\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Lokalize 21.08.3\n"
+"X-Generator: Lokalize 23.08.5\n"
 "Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n"
 "%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
 "X-Environment: kde\n"
@@ -170,10 +170,9 @@
 msgstr "Перейти в режим редактирования"
 
 #: desktopview.cpp:533
-#, fuzzy, kde-format
-#| msgid "Enter Edit Mode"
+#, kde-format
 msgid "Exit Edit Mode"
-msgstr "Перейти в режим редактирования"
+msgstr "Выйти из режима редактирования"
 
 #: main.cpp:86
 #, kde-format
diff -Nru plasma-workspace-6.3.4/po/ru/plasmashellprivateplugin.po plasma-workspace-6.3.5/po/ru/plasmashellprivateplugin.po
--- plasma-workspace-6.3.4/po/ru/plasmashellprivateplugin.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/ru/plasmashellprivateplugin.po	2025-05-06 19:59:33.000000000 +0200
@@ -16,7 +16,7 @@
 msgstr ""
 "Project-Id-Version: plasma\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2025-01-04 00:42+0000\n"
+"POT-Creation-Date: 2025-04-23 02:36+0000\n"
 "PO-Revision-Date: 2025-01-27 12:06+0300\n"
 "Last-Translator: Alexander Yavorsky <kekcuha@gmail.com>\n"
 "Language-Team: Russian <kde-russian@lists.kde.ru>\n"
@@ -76,7 +76,7 @@
 msgid "Other"
 msgstr "Другое"
 
-#: calendar/qml/DayDelegate.qml:95
+#: calendar/qml/DayDelegate.qml:96
 #, kde-format
 msgid "%1 event"
 msgid_plural "%1 events"
@@ -85,7 +85,7 @@
 msgstr[2] "%1 мероприятий"
 msgstr[3] "%1 мероприятие"
 
-#: calendar/qml/DayDelegate.qml:96
+#: calendar/qml/DayDelegate.qml:97
 #, kde-format
 msgid "No events"
 msgstr "Нет ни одного мероприятия"
diff -Nru plasma-workspace-6.3.4/po/sa/plasmashellprivateplugin.po plasma-workspace-6.3.5/po/sa/plasmashellprivateplugin.po
--- plasma-workspace-6.3.4/po/sa/plasmashellprivateplugin.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/sa/plasmashellprivateplugin.po	2025-05-06 19:59:33.000000000 +0200
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: plasma-workspace\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2025-01-04 00:42+0000\n"
+"POT-Creation-Date: 2025-04-23 02:36+0000\n"
 "PO-Revision-Date: 2024-12-24 20:39+0530\n"
 "Last-Translator: kali <shreekantkalwar@gmail.com>\n"
 "Language-Team: Sanskrit <kde-i18n-doc@kde.org>\n"
@@ -64,14 +64,14 @@
 msgid "Other"
 msgstr "इतर"
 
-#: calendar/qml/DayDelegate.qml:95
+#: calendar/qml/DayDelegate.qml:96
 #, kde-format
 msgid "%1 event"
 msgid_plural "%1 events"
 msgstr[0] "%1 घटना"
 msgstr[1] "%1 घटनाः"
 
-#: calendar/qml/DayDelegate.qml:96
+#: calendar/qml/DayDelegate.qml:97
 #, kde-format
 msgid "No events"
 msgstr "न घटनाः"
diff -Nru plasma-workspace-6.3.4/po/sk/plasmashellprivateplugin.po plasma-workspace-6.3.5/po/sk/plasmashellprivateplugin.po
--- plasma-workspace-6.3.4/po/sk/plasmashellprivateplugin.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/sk/plasmashellprivateplugin.po	2025-05-06 19:59:33.000000000 +0200
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: plasmashellprivateplugin\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2025-01-04 00:42+0000\n"
+"POT-Creation-Date: 2025-04-23 02:36+0000\n"
 "PO-Revision-Date: 2025-02-23 12:05+0100\n"
 "Last-Translator: Lucia Mrenica <lucia.mrenica@gmail.com>\n"
 "Language-Team: Slovak <kde-i18n-doc@kde.org>\n"
@@ -63,7 +63,7 @@
 msgid "Other"
 msgstr "Iné"
 
-#: calendar/qml/DayDelegate.qml:95
+#: calendar/qml/DayDelegate.qml:96
 #, kde-format
 msgid "%1 event"
 msgid_plural "%1 events"
@@ -71,7 +71,7 @@
 msgstr[1] "%1 udalosti"
 msgstr[2] "%1 udalostí"
 
-#: calendar/qml/DayDelegate.qml:96
+#: calendar/qml/DayDelegate.qml:97
 #, kde-format
 msgid "No events"
 msgstr "Žiadne udalosti"
diff -Nru plasma-workspace-6.3.4/po/sl/plasmashellprivateplugin.po plasma-workspace-6.3.5/po/sl/plasmashellprivateplugin.po
--- plasma-workspace-6.3.4/po/sl/plasmashellprivateplugin.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/sl/plasmashellprivateplugin.po	2025-05-06 19:59:33.000000000 +0200
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2025-01-04 00:42+0000\n"
+"POT-Creation-Date: 2025-04-23 02:36+0000\n"
 "PO-Revision-Date: 2025-01-04 09:42+0100\n"
 "Last-Translator: Matjaž Jeran <matjaz.jeran@amis.net>\n"
 "Language-Team: Slovenian <lugos-slo@lugos.si>\n"
@@ -66,7 +66,7 @@
 msgid "Other"
 msgstr "Ostalo"
 
-#: calendar/qml/DayDelegate.qml:95
+#: calendar/qml/DayDelegate.qml:96
 #, kde-format
 msgid "%1 event"
 msgid_plural "%1 events"
@@ -75,7 +75,7 @@
 msgstr[2] "%1 dogodki"
 msgstr[3] "%1 dogodkov"
 
-#: calendar/qml/DayDelegate.qml:96
+#: calendar/qml/DayDelegate.qml:97
 #, kde-format
 msgid "No events"
 msgstr "Ni dogodkov"
diff -Nru plasma-workspace-6.3.4/po/sr/plasmashellprivateplugin.po plasma-workspace-6.3.5/po/sr/plasmashellprivateplugin.po
--- plasma-workspace-6.3.4/po/sr/plasmashellprivateplugin.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/sr/plasmashellprivateplugin.po	2025-05-06 19:59:33.000000000 +0200
@@ -4,7 +4,7 @@
 msgstr ""
 "Project-Id-Version: plasmashellprivateplugin\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2025-01-04 00:42+0000\n"
+"POT-Creation-Date: 2025-04-23 02:36+0000\n"
 "PO-Revision-Date: 2016-11-23 19:27+0100\n"
 "Last-Translator: Chusslove Illich <caslav.ilic@gmx.net>\n"
 "Language-Team: Serbian <kde-i18n-sr@kde.org>\n"
@@ -63,7 +63,7 @@
 msgid "Other"
 msgstr ""
 
-#: calendar/qml/DayDelegate.qml:95
+#: calendar/qml/DayDelegate.qml:96
 #, kde-format
 msgid "%1 event"
 msgid_plural "%1 events"
@@ -72,7 +72,7 @@
 msgstr[2] ""
 msgstr[3] ""
 
-#: calendar/qml/DayDelegate.qml:96
+#: calendar/qml/DayDelegate.qml:97
 #, kde-format
 msgid "No events"
 msgstr ""
diff -Nru plasma-workspace-6.3.4/po/sr@ijekavian/plasmashellprivateplugin.po plasma-workspace-6.3.5/po/sr@ijekavian/plasmashellprivateplugin.po
--- plasma-workspace-6.3.4/po/sr@ijekavian/plasmashellprivateplugin.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/sr@ijekavian/plasmashellprivateplugin.po	2025-05-06 19:59:33.000000000 +0200
@@ -4,7 +4,7 @@
 msgstr ""
 "Project-Id-Version: plasmashellprivateplugin\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2025-01-04 00:42+0000\n"
+"POT-Creation-Date: 2025-04-23 02:36+0000\n"
 "PO-Revision-Date: 2016-11-23 19:27+0100\n"
 "Last-Translator: Chusslove Illich <caslav.ilic@gmx.net>\n"
 "Language-Team: Serbian <kde-i18n-sr@kde.org>\n"
@@ -63,7 +63,7 @@
 msgid "Other"
 msgstr ""
 
-#: calendar/qml/DayDelegate.qml:95
+#: calendar/qml/DayDelegate.qml:96
 #, kde-format
 msgid "%1 event"
 msgid_plural "%1 events"
@@ -72,7 +72,7 @@
 msgstr[2] ""
 msgstr[3] ""
 
-#: calendar/qml/DayDelegate.qml:96
+#: calendar/qml/DayDelegate.qml:97
 #, kde-format
 msgid "No events"
 msgstr ""
diff -Nru plasma-workspace-6.3.4/po/sr@ijekavianlatin/plasmashellprivateplugin.po plasma-workspace-6.3.5/po/sr@ijekavianlatin/plasmashellprivateplugin.po
--- plasma-workspace-6.3.4/po/sr@ijekavianlatin/plasmashellprivateplugin.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/sr@ijekavianlatin/plasmashellprivateplugin.po	2025-05-06 19:59:33.000000000 +0200
@@ -4,7 +4,7 @@
 msgstr ""
 "Project-Id-Version: plasmashellprivateplugin\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2025-01-04 00:42+0000\n"
+"POT-Creation-Date: 2025-04-23 02:36+0000\n"
 "PO-Revision-Date: 2016-11-23 19:27+0100\n"
 "Last-Translator: Chusslove Illich <caslav.ilic@gmx.net>\n"
 "Language-Team: Serbian <kde-i18n-sr@kde.org>\n"
@@ -63,7 +63,7 @@
 msgid "Other"
 msgstr ""
 
-#: calendar/qml/DayDelegate.qml:95
+#: calendar/qml/DayDelegate.qml:96
 #, kde-format
 msgid "%1 event"
 msgid_plural "%1 events"
@@ -72,7 +72,7 @@
 msgstr[2] ""
 msgstr[3] ""
 
-#: calendar/qml/DayDelegate.qml:96
+#: calendar/qml/DayDelegate.qml:97
 #, kde-format
 msgid "No events"
 msgstr ""
diff -Nru plasma-workspace-6.3.4/po/sr@latin/plasmashellprivateplugin.po plasma-workspace-6.3.5/po/sr@latin/plasmashellprivateplugin.po
--- plasma-workspace-6.3.4/po/sr@latin/plasmashellprivateplugin.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/sr@latin/plasmashellprivateplugin.po	2025-05-06 19:59:33.000000000 +0200
@@ -4,7 +4,7 @@
 msgstr ""
 "Project-Id-Version: plasmashellprivateplugin\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2025-01-04 00:42+0000\n"
+"POT-Creation-Date: 2025-04-23 02:36+0000\n"
 "PO-Revision-Date: 2016-11-23 19:27+0100\n"
 "Last-Translator: Chusslove Illich <caslav.ilic@gmx.net>\n"
 "Language-Team: Serbian <kde-i18n-sr@kde.org>\n"
@@ -63,7 +63,7 @@
 msgid "Other"
 msgstr ""
 
-#: calendar/qml/DayDelegate.qml:95
+#: calendar/qml/DayDelegate.qml:96
 #, kde-format
 msgid "%1 event"
 msgid_plural "%1 events"
@@ -72,7 +72,7 @@
 msgstr[2] ""
 msgstr[3] ""
 
-#: calendar/qml/DayDelegate.qml:96
+#: calendar/qml/DayDelegate.qml:97
 #, kde-format
 msgid "No events"
 msgstr ""
diff -Nru plasma-workspace-6.3.4/po/sv/plasmashellprivateplugin.po plasma-workspace-6.3.5/po/sv/plasmashellprivateplugin.po
--- plasma-workspace-6.3.4/po/sv/plasmashellprivateplugin.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/sv/plasmashellprivateplugin.po	2025-05-06 19:59:33.000000000 +0200
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2025-01-04 00:42+0000\n"
+"POT-Creation-Date: 2025-04-23 02:36+0000\n"
 "PO-Revision-Date: 2025-01-10 16:56+0100\n"
 "Last-Translator: Stefan Asserhäll <stefan.asserhall@gmail.com>\n"
 "Language-Team: Swedish <kde-i18n-doc@kde.org>\n"
@@ -62,14 +62,14 @@
 msgid "Other"
 msgstr "Andra"
 
-#: calendar/qml/DayDelegate.qml:95
+#: calendar/qml/DayDelegate.qml:96
 #, kde-format
 msgid "%1 event"
 msgid_plural "%1 events"
 msgstr[0] "%1 händelse"
 msgstr[1] "%1 händelser"
 
-#: calendar/qml/DayDelegate.qml:96
+#: calendar/qml/DayDelegate.qml:97
 #, kde-format
 msgid "No events"
 msgstr "Inga händelser"
diff -Nru plasma-workspace-6.3.4/po/ta/kcm_users.po plasma-workspace-6.3.5/po/ta/kcm_users.po
--- plasma-workspace-6.3.4/po/ta/kcm_users.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/ta/kcm_users.po	2025-05-06 19:59:33.000000000 +0200
@@ -7,7 +7,7 @@
 "Project-Id-Version: plasma-desktop\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
 "POT-Creation-Date: 2025-01-31 02:36+0000\n"
-"PO-Revision-Date: 2025-01-26 17:31+0530\n"
+"PO-Revision-Date: 2025-04-27 12:47+0530\n"
 "Last-Translator: Kishore G <kishore96@gmail.com>\n"
 "Language-Team: Tamil <kde-i18n-doc@kde.org>\n"
 "Language: ta\n"
@@ -15,7 +15,7 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Lokalize 24.12.1\n"
+"X-Generator: Lokalize 25.04.0\n"
 
 #: src/fingerprintmodel.cpp:145 src/fingerprintmodel.cpp:229
 #, kde-format
@@ -95,11 +95,7 @@
 msgstr "வால்லட்டின் கடவுச்சொல்லையும் மாற்ற வேண்டுமா?"
 
 #: src/ui/ChangeWalletPassword.qml:25
-#, fuzzy, kde-format
-#| msgctxt "@info"
-#| msgid ""
-#| "Now that you have changed your login password, you may also want to "
-#| "change the password on your default KWallet to match it."
+#, kde-format
 msgctxt "@info"
 msgid ""
 "Now that you have changed your login password, consider changing the "
diff -Nru plasma-workspace-6.3.4/po/ta/plasmashellprivateplugin.po plasma-workspace-6.3.5/po/ta/plasmashellprivateplugin.po
--- plasma-workspace-6.3.4/po/ta/plasmashellprivateplugin.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/ta/plasmashellprivateplugin.po	2025-05-06 19:59:33.000000000 +0200
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: plasma-workspace\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2025-01-04 00:42+0000\n"
+"POT-Creation-Date: 2025-04-23 02:36+0000\n"
 "PO-Revision-Date: 2025-01-26 17:18+0530\n"
 "Last-Translator: Kishore G <kishore96@gmail.com>\n"
 "Language-Team: Tamil <kde-i18n-doc@kde.org>\n"
@@ -62,14 +62,14 @@
 msgid "Other"
 msgstr "மற்றவை"
 
-#: calendar/qml/DayDelegate.qml:95
+#: calendar/qml/DayDelegate.qml:96
 #, kde-format
 msgid "%1 event"
 msgid_plural "%1 events"
 msgstr[0] "%1 நிகழ்வு"
 msgstr[1] "%1 நிகழ்வுகள்"
 
-#: calendar/qml/DayDelegate.qml:96
+#: calendar/qml/DayDelegate.qml:97
 #, kde-format
 msgid "No events"
 msgstr "நிகழ்வுகள் இல்லை"
diff -Nru plasma-workspace-6.3.4/po/th/plasmashellprivateplugin.po plasma-workspace-6.3.5/po/th/plasmashellprivateplugin.po
--- plasma-workspace-6.3.4/po/th/plasmashellprivateplugin.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/th/plasmashellprivateplugin.po	2025-05-06 19:59:33.000000000 +0200
@@ -2,7 +2,7 @@
 msgstr ""
 "Project-Id-Version: plasma-workspace\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2025-01-04 00:42+0000\n"
+"POT-Creation-Date: 2025-04-23 02:36+0000\n"
 "PO-Revision-Date: 2025-03-17 14:55+0700\n"
 "Last-Translator: Thai Translator <none>\n"
 "Language-Team: Thai <kde-i18n-docs@kde.org>\n"
@@ -57,14 +57,14 @@
 msgid "Other"
 msgstr ""
 
-#: calendar/qml/DayDelegate.qml:95
+#: calendar/qml/DayDelegate.qml:96
 #, kde-format
 msgid "%1 event"
 msgid_plural "%1 events"
 msgstr[0] ""
 msgstr[1] ""
 
-#: calendar/qml/DayDelegate.qml:96
+#: calendar/qml/DayDelegate.qml:97
 #, kde-format
 msgid "No events"
 msgstr ""
diff -Nru plasma-workspace-6.3.4/po/tok/plasmashellprivateplugin.po plasma-workspace-6.3.5/po/tok/plasmashellprivateplugin.po
--- plasma-workspace-6.3.4/po/tok/plasmashellprivateplugin.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/tok/plasmashellprivateplugin.po	2025-05-06 19:59:33.000000000 +0200
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: plasma-workspace\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2025-01-04 00:42+0000\n"
+"POT-Creation-Date: 2025-04-23 02:36+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -61,14 +61,14 @@
 msgid "Other"
 msgstr ""
 
-#: calendar/qml/DayDelegate.qml:95
+#: calendar/qml/DayDelegate.qml:96
 #, kde-format
 msgid "%1 event"
 msgid_plural "%1 events"
 msgstr[0] ""
 msgstr[1] ""
 
-#: calendar/qml/DayDelegate.qml:96
+#: calendar/qml/DayDelegate.qml:97
 #, kde-format
 msgid "No events"
 msgstr ""
diff -Nru plasma-workspace-6.3.4/po/tr/plasmashellprivateplugin.po plasma-workspace-6.3.5/po/tr/plasmashellprivateplugin.po
--- plasma-workspace-6.3.4/po/tr/plasmashellprivateplugin.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/tr/plasmashellprivateplugin.po	2025-05-06 19:59:33.000000000 +0200
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: plasmashellprivateplugin\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2025-01-04 00:42+0000\n"
+"POT-Creation-Date: 2025-04-23 02:36+0000\n"
 "PO-Revision-Date: 2025-01-04 15:44+0300\n"
 "Last-Translator: Emir SARI <emir_sari@icloud.com>\n"
 "Language-Team: Turkish <kde-l10n-tr@kde.org>\n"
@@ -63,14 +63,14 @@
 msgid "Other"
 msgstr "Diğer"
 
-#: calendar/qml/DayDelegate.qml:95
+#: calendar/qml/DayDelegate.qml:96
 #, kde-format
 msgid "%1 event"
 msgid_plural "%1 events"
 msgstr[0] "%1 etkinlik"
 msgstr[1] "%1 etkinlik"
 
-#: calendar/qml/DayDelegate.qml:96
+#: calendar/qml/DayDelegate.qml:97
 #, kde-format
 msgid "No events"
 msgstr "Etkinlik yok"
diff -Nru plasma-workspace-6.3.4/po/uk/plasmashellprivateplugin.po plasma-workspace-6.3.5/po/uk/plasmashellprivateplugin.po
--- plasma-workspace-6.3.4/po/uk/plasmashellprivateplugin.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/uk/plasmashellprivateplugin.po	2025-05-06 19:59:33.000000000 +0200
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: plasmashellprivateplugin\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2025-01-04 00:42+0000\n"
+"POT-Creation-Date: 2025-04-23 02:36+0000\n"
 "PO-Revision-Date: 2025-01-04 10:46+0200\n"
 "Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
 "Language-Team: Ukrainian <trans-uk@lists.fedoraproject.org>\n"
@@ -65,7 +65,7 @@
 msgid "Other"
 msgstr "Інше"
 
-#: calendar/qml/DayDelegate.qml:95
+#: calendar/qml/DayDelegate.qml:96
 #, kde-format
 msgid "%1 event"
 msgid_plural "%1 events"
@@ -74,7 +74,7 @@
 msgstr[2] "%1 подій"
 msgstr[3] "%1 подія"
 
-#: calendar/qml/DayDelegate.qml:96
+#: calendar/qml/DayDelegate.qml:97
 #, kde-format
 msgid "No events"
 msgstr "Немає подій"
diff -Nru plasma-workspace-6.3.4/po/vi/plasmashellprivateplugin.po plasma-workspace-6.3.5/po/vi/plasmashellprivateplugin.po
--- plasma-workspace-6.3.4/po/vi/plasmashellprivateplugin.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/vi/plasmashellprivateplugin.po	2025-05-06 19:59:33.000000000 +0200
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: plasma-workspace\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2025-01-04 00:42+0000\n"
+"POT-Creation-Date: 2025-04-23 02:36+0000\n"
 "PO-Revision-Date: 2022-05-23 14:19+0200\n"
 "Last-Translator: Phu Hung Nguyen <phu.nguyen@kdemail.net>\n"
 "Language-Team: Vietnamese <kde-l10n-vi@kde.org>\n"
@@ -62,13 +62,13 @@
 msgid "Other"
 msgstr "Khác"
 
-#: calendar/qml/DayDelegate.qml:95
+#: calendar/qml/DayDelegate.qml:96
 #, kde-format
 msgid "%1 event"
 msgid_plural "%1 events"
 msgstr[0] ""
 
-#: calendar/qml/DayDelegate.qml:96
+#: calendar/qml/DayDelegate.qml:97
 #, fuzzy, kde-format
 #| msgctxt "Agenda listview section title"
 #| msgid "Events"
diff -Nru plasma-workspace-6.3.4/po/zh_CN/plasmashellprivateplugin.po plasma-workspace-6.3.5/po/zh_CN/plasmashellprivateplugin.po
--- plasma-workspace-6.3.4/po/zh_CN/plasmashellprivateplugin.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/zh_CN/plasmashellprivateplugin.po	2025-05-06 19:59:33.000000000 +0200
@@ -2,7 +2,7 @@
 msgstr ""
 "Project-Id-Version: kdeorg\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2025-01-04 00:42+0000\n"
+"POT-Creation-Date: 2025-04-23 02:36+0000\n"
 "PO-Revision-Date: 2024-04-22 15:58\n"
 "Last-Translator: \n"
 "Language-Team: Chinese Simplified\n"
@@ -63,13 +63,13 @@
 msgid "Other"
 msgstr "其他"
 
-#: calendar/qml/DayDelegate.qml:95
+#: calendar/qml/DayDelegate.qml:96
 #, kde-format
 msgid "%1 event"
 msgid_plural "%1 events"
 msgstr[0] "%1 项活动"
 
-#: calendar/qml/DayDelegate.qml:96
+#: calendar/qml/DayDelegate.qml:97
 #, kde-format
 msgid "No events"
 msgstr "无活动"
diff -Nru plasma-workspace-6.3.4/po/zh_TW/plasma_applet_org.kde.plasma.notifications.po plasma-workspace-6.3.5/po/zh_TW/plasma_applet_org.kde.plasma.notifications.po
--- plasma-workspace-6.3.4/po/zh_TW/plasma_applet_org.kde.plasma.notifications.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/zh_TW/plasma_applet_org.kde.plasma.notifications.po	2025-05-06 19:59:33.000000000 +0200
@@ -6,13 +6,13 @@
 # pan93412 <pan93412@gmail.com>, 2018, 2019, 2020.
 # Frank Weng (a.k.a. Franklin) <franklin at goodhorse dot idv dot tw>, 2010.
 # Chaoting Liu <brli@chakralinux.org>, 2021.
-# SPDX-FileCopyrightText: 2023, 2024 Kisaragi Hiu <mail@kisaragi-hiu.com>
+# SPDX-FileCopyrightText: 2023, 2024, 2025 Kisaragi Hiu <mail@kisaragi-hiu.com>
 msgid ""
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
 "POT-Creation-Date: 2025-03-31 02:33+0000\n"
-"PO-Revision-Date: 2024-02-05 17:22+0900\n"
+"PO-Revision-Date: 2025-04-07 14:12+0900\n"
 "Last-Translator: Kisaragi Hiu <mail@kisaragi-hiu.com>\n"
 "Language-Team: Traditional Chinese <zh-l10n@lists.slat.org>\n"
 "Language: zh_TW\n"
@@ -20,7 +20,7 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Lokalize 24.01.95\n"
+"X-Generator: Lokalize 24.12.3\n"
 
 #: fileinfo.cpp:170
 #, kde-format
@@ -263,13 +263,13 @@
 #, kde-format
 msgctxt "Job name, e.g. Copying is paused"
 msgid "%1 (Paused)"
-msgstr "%1 (已暫停)"
+msgstr "%1(已暫停)"
 
 #: package/contents/ui/components/Summary.qml:41
 #, kde-format
 msgctxt "Job name, e.g. Copying has failed"
 msgid "%1 (Failed)"
-msgstr "%1 (失敗)"
+msgstr "%1(失敗)"
 
 #: package/contents/ui/components/Summary.qml:43
 #, kde-format
@@ -280,7 +280,7 @@
 #, kde-format
 msgctxt "Job name, e.g. Copying has finished"
 msgid "%1 (Finished)"
-msgstr "%1 (完成)"
+msgstr "%1(完成)"
 
 #: package/contents/ui/components/Summary.qml:49
 #, kde-format
diff -Nru plasma-workspace-6.3.4/po/zh_TW/plasmashellprivateplugin.po plasma-workspace-6.3.5/po/zh_TW/plasmashellprivateplugin.po
--- plasma-workspace-6.3.4/po/zh_TW/plasmashellprivateplugin.po	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/po/zh_TW/plasmashellprivateplugin.po	2025-05-06 19:59:33.000000000 +0200
@@ -10,7 +10,7 @@
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2025-01-04 00:42+0000\n"
+"POT-Creation-Date: 2025-04-23 02:36+0000\n"
 "PO-Revision-Date: 2025-01-08 17:47+0900\n"
 "Last-Translator: Kisaragi Hiu <mail@kisaragi-hiu.com>\n"
 "Language-Team: Traditional Chinese <zh-l10n@lists.slat.org>\n"
@@ -66,13 +66,13 @@
 msgid "Other"
 msgstr "其他"
 
-#: calendar/qml/DayDelegate.qml:95
+#: calendar/qml/DayDelegate.qml:96
 #, kde-format
 msgid "%1 event"
 msgid_plural "%1 events"
 msgstr[0] "%1 個事件"
 
-#: calendar/qml/DayDelegate.qml:96
+#: calendar/qml/DayDelegate.qml:97
 #, kde-format
 msgid "No events"
 msgstr "沒有事件"
diff -Nru plasma-workspace-6.3.4/runners/appstream/plasma-runner-appstream.json plasma-workspace-6.3.5/runners/appstream/plasma-runner-appstream.json
--- plasma-workspace-6.3.4/runners/appstream/plasma-runner-appstream.json	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/runners/appstream/plasma-runner-appstream.json	2025-05-06 19:59:33.000000000 +0200
@@ -22,7 +22,7 @@
                 "Name[eu]": "Aleix Pol Gonzalez",
                 "Name[fi]": "Aleix Pol Gonzalez",
                 "Name[fr]": "Aleix Pol Gonzalez",
-                "Name[gl]": "Aleix Pol Gonzalez",
+                "Name[gl]": "Aleix Pol i Gonzàlez",
                 "Name[he]": "אלש פול י גונזלז",
                 "Name[hi]": "एलेक्स पोल गोंजालेज",
                 "Name[hu]": "Aleix Pol Gonzalez",
diff -Nru plasma-workspace-6.3.4/runners/places/plasma-runner-places.json plasma-workspace-6.3.5/runners/places/plasma-runner-places.json
--- plasma-workspace-6.3.4/runners/places/plasma-runner-places.json	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/runners/places/plasma-runner-places.json	2025-05-06 19:59:33.000000000 +0200
@@ -190,6 +190,6 @@
         "Name[wa]": "Plaeces",
         "Name[x-test]": "xxPlacesxx",
         "Name[zh_CN]": "常用位置",
-        "Name[zh_TW]": "地方"
+        "Name[zh_TW]": "書籤"
     }
 }
diff -Nru plasma-workspace-6.3.4/shell/autotests/screenpooltest.cpp plasma-workspace-6.3.5/shell/autotests/screenpooltest.cpp
--- plasma-workspace-6.3.4/shell/autotests/screenpooltest.cpp	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/shell/autotests/screenpooltest.cpp	2025-05-06 19:59:33.000000000 +0200
@@ -41,6 +41,7 @@
     void testLastScreenRemoval();
     void testFakeToRealScreen();
     void testFakeOutputInitially();
+    void testReorderRemoveRace();
 
 private:
     ScreenPool *m_screenPool;
@@ -459,6 +460,65 @@
     QCOMPARE(screenPool.idForScreen(newScreen), 0);
 }
 
+void ScreenPoolTest::testReorderRemoveRace()
+{
+    QSignalSpy addedSpy(qGuiApp, SIGNAL(screenAdded(QScreen *)));
+    QSignalSpy orderChangeSpy(m_screenPool, &ScreenPool::screenOrderChanged);
+    QSignalSpy firstScreenResizedSpy(qGuiApp->screens()[0], &QScreen::geometryChanged);
+
+    // Add a new output
+    exec([this] {
+        OutputData data;
+        data.mode.resolution = {1920, 1080};
+        data.position = {1920, 0};
+        data.physicalSize = data.mode.physicalSizeForDpi(96);
+        // NOTE: assumes that when a screen is added it will already have the final geometry
+        auto *out = add<Output>(data);
+        auto *xdgOut = xdgOutput(out);
+        xdgOut->m_name = QStringLiteral("WL-2");
+        outputOrder()->setList({u"WL-1"_s, u"WL-2"_s});
+    });
+
+    QVERIFY(orderChangeSpy.wait());
+
+    QCOMPARE(orderChangeSpy.size(), 1);
+    QCOMPARE(QGuiApplication::screens().size(), 2);
+    QCOMPARE(m_screenPool->screenOrder().size(), 2);
+    QCOMPARE(addedSpy.size(), 1);
+
+    QScreen *newScreen = addedSpy.takeFirst().at(0).value<QScreen *>();
+    QCOMPARE(newScreen->name(), QStringLiteral("WL-2"));
+    QCOMPARE(newScreen->geometry(), QRect(1920, 0, 1920, 1080));
+    // Check mapping
+    QCOMPARE(m_screenPool->idForScreen(newScreen), 1);
+    QCOMPARE(m_screenPool->screenForId(1)->name(), QStringLiteral("WL-2"));
+
+    exec([this] {
+        // BUG 494616:
+        // When there are those 3 things happening in quick order
+        // * Setting the order
+        // * resizing an output
+        // * removing another output
+        // we used to get an inconsistent state in OutputOrderWatcher
+        // where the removed output is *not* removed from outputOrder
+        outputOrder()->setList({u"WL-2"_s, u"WL-1"_s});
+        auto *out = output(0);
+        auto *xdgOut = xdgOutput(output(0));
+        xdgOut->sendLogicalSize(QSize(1024, 600));
+        remove(output(1));
+        out->m_data.physicalSize = QSize(1024, 600);
+        out->sendGeometry();
+        out->sendDone();
+    });
+
+    QVERIFY(orderChangeSpy.wait());
+    QTRY_COMPARE(firstScreenResizedSpy.size(), 1);
+    QCOMPARE(m_screenPool->screenOrder().size(), 1);
+    QCOMPARE(m_screenPool->screenOrder().first()->name(), QStringLiteral("WL-1"));
+    QCOMPARE(qApp->screens().size(), 1);
+    QCOMPARE(qApp->screens().first()->geometry(), QRect(0, 0, 1024, 600));
+}
+
 QCOMPOSITOR_TEST_MAIN(ScreenPoolTest)
 
 #include "screenpooltest.moc"
diff -Nru plasma-workspace-6.3.4/shell/screenpool.cpp plasma-workspace-6.3.5/shell/screenpool.cpp
--- plasma-workspace-6.3.4/shell/screenpool.cpp	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/shell/screenpool.cpp	2025-05-06 19:59:33.000000000 +0200
@@ -282,6 +282,7 @@
 void ScreenPool::handleOutputOrderChanged(const QStringList &newOrder)
 {
     qCDebug(SCREENPOOL) << "handleOutputOrderChanged" << newOrder;
+
     QHash<QString, QScreen *> connMap;
     for (auto s : qApp->screens()) {
         connMap[s->name()] = s;
@@ -369,7 +370,10 @@
     // QScreen bookeeping integrity
     auto allScreens = qGuiApp->screens();
     // Do we actually track every screen?
-    Q_ASSERT_X((m_availableScreens.count() + m_redundantScreens.count()) == m_outputOrderWatcher->outputOrder().count(),
+    // (m_availableScreens.count() + m_redundantScreens.count() must be less or equal
+    // to the number of screens tracked by OutputOrderWatcher, because it can contain
+    // for a little while a screen that has just been removed
+    Q_ASSERT_X((m_availableScreens.count() + m_redundantScreens.count()) <= m_outputOrderWatcher->outputOrder().count(),
                Q_FUNC_INFO,
                qUtf8Printable(debugMessage())); // https://crash-reports.kde.org/organizations/kde/issues/5249/
     Q_ASSERT_X(allScreens.count() == m_sizeSortedScreens.count(),
diff -ur '--exclude=po' plasma-workspace-6.3.4/applets/appmenu/plugin/appmenumodel.cpp plasma-workspace-6.3.5/applets/appmenu/plugin/appmenumodel.cpp
--- plasma-workspace-6.3.4/applets/appmenu/plugin/appmenumodel.cpp	2025-04-02 05:38:23.000000000 +0200
+++ plasma-workspace-6.3.5/applets/appmenu/plugin/appmenumodel.cpp	2025-06-14 23:27:20.000000000 +0200
@@ -25,8 +25,8 @@
 class KDBusMenuImporter : public DBusMenuImporter
 {
 public:
-    KDBusMenuImporter(const QString &service, const QString &path, QObject *parent)
-        : DBusMenuImporter(service, path, parent)
+    KDBusMenuImporter(const QString &service, const QString &path)
+        : DBusMenuImporter(service, path)
     {
     }
 
@@ -202,16 +202,7 @@
     const QModelIndex activeTaskIndex = m_tasksModel->activeTask();
     const QString objectPath = m_tasksModel->data(activeTaskIndex, TaskManager::AbstractTasksModel::ApplicationMenuObjectPath).toString();
     const QString serviceName = m_tasksModel->data(activeTaskIndex, TaskManager::AbstractTasksModel::ApplicationMenuServiceName).toString();
-
-    if (!objectPath.isEmpty() && !serviceName.isEmpty()) {
-        setMenuAvailable(true);
-        updateApplicationMenu(serviceName, objectPath);
-        setVisible(true);
-        Q_EMIT modelNeedsUpdate();
-    } else {
-        setMenuAvailable(false);
-        setVisible(false);
-    }
+    updateApplicationMenu(serviceName, objectPath);
 }
 
 QHash<int, QByteArray> AppMenuModel::roleNames() const
@@ -277,66 +268,76 @@
 {
     if (m_serviceName == serviceName && m_menuObjectPath == menuObjectPath) {
         if (m_importer) {
-            QMetaObject::invokeMethod(m_importer, "updateMenu", Qt::QueuedConnection);
+            QMetaObject::invokeMethod(m_importer.get(), "updateMenu", Qt::QueuedConnection);
         }
         return;
     }
 
-    m_serviceName = serviceName;
-    m_serviceWatcher->setWatchedServices(QStringList({m_serviceName}));
-
-    m_menuObjectPath = menuObjectPath;
+    if (serviceName.isEmpty() || menuObjectPath.isEmpty()) {
+        setMenuAvailable(false);
+        setVisible(false);
 
-    if (m_importer) {
-        m_importer->deleteLater();
-    }
+        m_serviceName = QString();
+        m_menuObjectPath = QString();
+        m_serviceWatcher->setWatchedServices({});
+        m_importer.reset();
+    } else {
+        m_serviceName = serviceName;
+        m_menuObjectPath = menuObjectPath;
+        m_serviceWatcher->setWatchedServices(QStringList({m_serviceName}));
+
+        m_importer = std::make_unique<KDBusMenuImporter>(serviceName, menuObjectPath);
+        QMetaObject::invokeMethod(m_importer.get(), "updateMenu", Qt::QueuedConnection);
+
+        connect(m_importer.get(), &DBusMenuImporter::menuUpdated, this, [=, this](QMenu *menu) {
+            m_menu = m_importer->menu();
+            if (m_menu.isNull() || menu != m_menu) {
+                return;
+            }
 
-    m_importer = new KDBusMenuImporter(serviceName, menuObjectPath, this);
-    QMetaObject::invokeMethod(m_importer, "updateMenu", Qt::QueuedConnection);
+            // cache first layer of sub menus, which we'll be popping up
+            const auto actions = m_menu->actions();
+            for (QAction *a : actions) {
+                // signal dataChanged when the action changes
+                connect(a, &QAction::changed, this, [this, a] {
+                    if (m_menuAvailable && m_menu) {
+                        const int actionIdx = m_menu->actions().indexOf(a);
+                        if (actionIdx > -1) {
+                            const QModelIndex modelIdx = index(actionIdx, 0);
+                            Q_EMIT dataChanged(modelIdx, modelIdx);
+                        }
+                    }
+                });
 
-    connect(m_importer.data(), &DBusMenuImporter::menuUpdated, this, [=, this](QMenu *menu) {
-        m_menu = m_importer->menu();
-        if (m_menu.isNull() || menu != m_menu) {
-            return;
-        }
+                connect(a, &QAction::destroyed, this, &AppMenuModel::modelNeedsUpdate);
 
-        // cache first layer of sub menus, which we'll be popping up
-        const auto actions = m_menu->actions();
-        for (QAction *a : actions) {
-            // signal dataChanged when the action changes
-            connect(a, &QAction::changed, this, [this, a] {
-                if (m_menuAvailable && m_menu) {
-                    const int actionIdx = m_menu->actions().indexOf(a);
-                    if (actionIdx > -1) {
-                        const QModelIndex modelIdx = index(actionIdx, 0);
-                        Q_EMIT dataChanged(modelIdx, modelIdx);
-                    }
+                if (a->menu()) {
+                    m_importer->updateMenu(a->menu());
                 }
-            });
+            }
 
-            connect(a, &QAction::destroyed, this, &AppMenuModel::modelNeedsUpdate);
+            setMenuAvailable(true);
+            Q_EMIT modelNeedsUpdate();
+        });
 
-            if (a->menu()) {
-                m_importer->updateMenu(a->menu());
+        connect(m_importer.get(), &DBusMenuImporter::actionActivationRequested, this, [this](QAction *action) {
+            // TODO submenus
+            if (!m_menuAvailable || !m_menu) {
+                return;
             }
-        }
 
-        setMenuAvailable(true);
-        Q_EMIT modelNeedsUpdate();
-    });
+            const auto actions = m_menu->actions();
+            auto it = std::find(actions.begin(), actions.end(), action);
+            if (it != actions.end()) {
+                Q_EMIT requestActivateIndex(it - actions.begin());
+            }
+        });
 
-    connect(m_importer.data(), &DBusMenuImporter::actionActivationRequested, this, [this](QAction *action) {
-        // TODO submenus
-        if (!m_menuAvailable || !m_menu) {
-            return;
-        }
+        setMenuAvailable(true);
+        setVisible(true);
 
-        const auto actions = m_menu->actions();
-        auto it = std::find(actions.begin(), actions.end(), action);
-        if (it != actions.end()) {
-            Q_EMIT requestActivateIndex(it - actions.begin());
-        }
-    });
+        Q_EMIT modelNeedsUpdate();
+    }
 }
 
 #include "moc_appmenumodel.cpp"
diff -ur '--exclude=po' plasma-workspace-6.3.4/applets/appmenu/plugin/appmenumodel.h plasma-workspace-6.3.5/applets/appmenu/plugin/appmenumodel.h
--- plasma-workspace-6.3.4/applets/appmenu/plugin/appmenumodel.h	2025-04-02 05:38:23.000000000 +0200
+++ plasma-workspace-6.3.5/applets/appmenu/plugin/appmenumodel.h	2025-06-14 23:27:20.000000000 +0200
@@ -91,5 +91,5 @@
     QString m_serviceName;
     QString m_menuObjectPath;
 
-    QPointer<KDBusMenuImporter> m_importer;
+    std::unique_ptr<KDBusMenuImporter> m_importer;
 };
diff -ur '--exclude=po' plasma-workspace-6.3.4/applets/clipboard/metadata.json plasma-workspace-6.3.5/applets/clipboard/metadata.json
--- plasma-workspace-6.3.4/applets/clipboard/metadata.json	2025-04-02 05:38:23.000000000 +0200
+++ plasma-workspace-6.3.5/applets/clipboard/metadata.json	2025-05-06 19:59:32.000000000 +0200
@@ -193,7 +193,7 @@
     "X-KDE-Keywords[es]": "klipper,portapapeles,copiar,pegar",
     "X-KDE-Keywords[eu]": "klipper,arbela,kopiatu,itsatsi",
     "X-KDE-Keywords[fi]": "klipper,leikepöytä,kopioi,liitä",
-    "X-KDE-Keywords[fr]": "klipper, presse-papier, copier, coller",
+    "X-KDE-Keywords[fr]": "Klipper, presse-papier, copier, coller",
     "X-KDE-Keywords[gl]": "klipper,clipboard,portapapeis,copy,copiar,paste,pegar",
     "X-KDE-Keywords[he]": "klipper,לוח גזירים,העתקה,הדבקה",
     "X-KDE-Keywords[hu]": "klipper,vágólap,másolás,beillesztés",
diff -ur '--exclude=po' plasma-workspace-6.3.4/applets/devicenotifier/plugin/actions/mountaction.cpp plasma-workspace-6.3.5/applets/devicenotifier/plugin/actions/mountaction.cpp
--- plasma-workspace-6.3.4/applets/devicenotifier/plugin/actions/mountaction.cpp	2025-04-02 05:38:23.000000000 +0200
+++ plasma-workspace-6.3.5/applets/devicenotifier/plugin/actions/mountaction.cpp	2025-06-14 23:27:20.000000000 +0200
@@ -18,6 +18,8 @@
 MountAction::MountAction(const QString &udi, QObject *parent)
     : ActionInterface(udi, parent)
     , m_stateMonitor(DevicesStateMonitor::instance())
+    , m_supportsMTP(false)
+    , m_hasStorageAccess(false)
 {
     Solid::Device device(udi);
 
@@ -39,6 +41,15 @@
 
     m_supportsMTP = supportedProtocols.contains(QLatin1String("mtp"));
 
+    // It's possible for there to be no StorageAccess (e.g. MTP devices don't have one)
+    if (device.is<Solid::StorageAccess>()) {
+        Solid::StorageAccess *access = device.as<Solid::StorageAccess>();
+        if (access) {
+            qCDebug(APPLETS::DEVICENOTIFIER) << "Mount action: have storage access";
+            m_hasStorageAccess = true;
+        }
+    }
+
     connect(m_stateMonitor.get(), &DevicesStateMonitor::stateChanged, this, &MountAction::updateIsValid);
 }
 
@@ -67,7 +78,7 @@
 
 bool MountAction::isValid() const
 {
-    return m_stateMonitor->isRemovable(m_udi) && !m_stateMonitor->isMounted(m_udi) && !m_supportsMTP;
+    return m_hasStorageAccess && m_stateMonitor->isRemovable(m_udi) && !m_stateMonitor->isMounted(m_udi) && !m_supportsMTP;
 }
 
 void MountAction::updateIsValid(const QString &udi)
diff -ur '--exclude=po' plasma-workspace-6.3.4/applets/devicenotifier/plugin/actions/mountaction.h plasma-workspace-6.3.5/applets/devicenotifier/plugin/actions/mountaction.h
--- plasma-workspace-6.3.4/applets/devicenotifier/plugin/actions/mountaction.h	2025-04-02 05:38:23.000000000 +0200
+++ plasma-workspace-6.3.5/applets/devicenotifier/plugin/actions/mountaction.h	2025-06-14 23:27:20.000000000 +0200
@@ -33,6 +33,7 @@
 
 private:
     bool m_supportsMTP;
+    bool m_hasStorageAccess;
 
     std::shared_ptr<DevicesStateMonitor> m_stateMonitor;
 };
diff -ur '--exclude=po' plasma-workspace-6.3.4/applets/devicenotifier/plugin/devicecontrol.cpp plasma-workspace-6.3.5/applets/devicenotifier/plugin/devicecontrol.cpp
--- plasma-workspace-6.3.4/applets/devicenotifier/plugin/devicecontrol.cpp	2025-04-02 05:38:23.000000000 +0200
+++ plasma-workspace-6.3.5/applets/devicenotifier/plugin/devicecontrol.cpp	2025-06-14 23:27:20.000000000 +0200
@@ -152,6 +152,12 @@
 void DeviceControl::onDeviceAdded(const QString &udi)
 {
     qCDebug(APPLETS::DEVICENOTIFIER) << "Device Controller: Added device signal arrived : " << udi;
+
+    if (m_actions.contains(udi)) {
+        qCDebug(APPLETS::DEVICENOTIFIER) << "Device Controller: Device already exists. Don't add another one : " << udi;
+        return;
+    }
+
     Solid::Device device(udi);
 
     if (!device.isValid()) {
diff -ur '--exclude=po' plasma-workspace-6.3.4/applets/kicker/plugin/wheelinterceptor.cpp plasma-workspace-6.3.5/applets/kicker/plugin/wheelinterceptor.cpp
--- plasma-workspace-6.3.4/applets/kicker/plugin/wheelinterceptor.cpp	2025-04-02 05:38:23.000000000 +0200
+++ plasma-workspace-6.3.5/applets/kicker/plugin/wheelinterceptor.cpp	2025-06-14 23:27:20.000000000 +0200
@@ -51,7 +51,7 @@
         // HACK: ScrollView adds the WheelArea below its flickableItem with
         // z==-1. This is reasonable non-risky considering we know about
         // everything else in there, and worst case we break the mouse wheel.
-        if (child->z() == -1) {
+        if (child->z() >= -1) {
             return child;
         }
     }
diff -ur '--exclude=po' plasma-workspace-6.3.4/applets/manage-inputmethod/metadata.json plasma-workspace-6.3.5/applets/manage-inputmethod/metadata.json
--- plasma-workspace-6.3.4/applets/manage-inputmethod/metadata.json	2025-04-02 05:38:23.000000000 +0200
+++ plasma-workspace-6.3.5/applets/manage-inputmethod/metadata.json	2025-05-06 19:59:32.000000000 +0200
@@ -23,7 +23,7 @@
                 "Name[eu]": "Aleix Pol Gonzalez",
                 "Name[fi]": "Aleix Pol Gonzalez",
                 "Name[fr]": "Aleix Pol Gonzalez",
-                "Name[gl]": "Aleix Pol Gonzalez",
+                "Name[gl]": "Aleix Pol i Gonzàlez",
                 "Name[he]": "אלש פול י גונזלז",
                 "Name[hi]": "एलेक्स पोल गोंजालेज",
                 "Name[hu]": "Aleix Pol Gonzalez",
diff -ur '--exclude=po' plasma-workspace-6.3.4/applets/mediacontroller/package/contents/ui/ExpandedRepresentation.qml plasma-workspace-6.3.5/applets/mediacontroller/package/contents/ui/ExpandedRepresentation.qml
--- plasma-workspace-6.3.4/applets/mediacontroller/package/contents/ui/ExpandedRepresentation.qml	2025-04-02 05:38:23.000000000 +0200
+++ plasma-workspace-6.3.5/applets/mediacontroller/package/contents/ui/ExpandedRepresentation.qml	2025-06-14 23:27:20.000000000 +0200
@@ -676,7 +676,7 @@
                     display: PlasmaComponents3.AbstractButton.IconOnly
                     icon.name: model.iconName
                     icon.height: Kirigami.Units.iconSizes.smallMedium
-                    text: model.identity
+                    text: model.isMultiplexer ? i18nc("@action:button", "Choose player automatically") : model.identity
                     // Keep the delegate centered by offsetting the padding removed in the parent
                     bottomPadding: verticalPadding + headerItem.bottomPadding
                     topPadding: verticalPadding - headerItem.bottomPadding
diff -ur '--exclude=po' plasma-workspace-6.3.4/applets/notifications/filemenu.cpp plasma-workspace-6.3.5/applets/notifications/filemenu.cpp
--- plasma-workspace-6.3.4/applets/notifications/filemenu.cpp	2025-04-02 05:38:23.000000000 +0200
+++ plasma-workspace-6.3.5/applets/notifications/filemenu.cpp	2025-06-14 23:27:20.000000000 +0200
@@ -151,7 +151,8 @@
     const bool canTrash = itemProperties.isLocal() && itemProperties.supportsMoving();
     if (canTrash) {
         auto moveToTrashLambda = [this] {
-            auto handler = new KIO::WidgetsAskUserActionHandler(this);
+            // No parent since the FileMenu will be destroyed as soon as the user clicked the menu item.
+            auto handler = new KIO::WidgetsAskUserActionHandler();
             connect(handler, &KIO::WidgetsAskUserActionHandler::askUserDeleteResult, [handler](bool allow, const QList<QUrl> &urls) {
                 if (allow) {
                     auto job = KIO::trash(urls);
@@ -172,7 +173,8 @@
 
     if (itemProperties.supportsDeleting() && (!canTrash || showDeleteCommand)) {
         auto deleteLambda = [this] {
-            auto handler = new KIO::WidgetsAskUserActionHandler(this);
+            // No parent since the FileMenu will be destroyed as soon as the user clicked the menu item.
+            auto handler = new KIO::WidgetsAskUserActionHandler();
             connect(handler, &KIO::WidgetsAskUserActionHandler::askUserDeleteResult, [handler](bool allow, const QList<QUrl> &urls) {
                 if (allow) {
                     auto job = KIO::del(urls);
diff -ur '--exclude=po' plasma-workspace-6.3.4/applets/notifications/notificationwindow.cpp plasma-workspace-6.3.5/applets/notifications/notificationwindow.cpp
--- plasma-workspace-6.3.4/applets/notifications/notificationwindow.cpp	2025-04-02 05:38:23.000000000 +0200
+++ plasma-workspace-6.3.5/applets/notifications/notificationwindow.cpp	2025-05-06 19:59:32.000000000 +0200
@@ -81,6 +81,7 @@
 {
     PlasmaShellWaylandIntegration::get(this)->setPosition(me->pos());
     PlasmaWindow::moveEvent(me);
+    update();
 }
 
 #include "moc_notificationwindow.cpp"
diff -ur '--exclude=po' plasma-workspace-6.3.4/applets/notifications/package/contents/ui/components/JobDetails.qml plasma-workspace-6.3.5/applets/notifications/package/contents/ui/components/JobDetails.qml
--- plasma-workspace-6.3.4/applets/notifications/package/contents/ui/components/JobDetails.qml	2025-04-02 05:38:23.000000000 +0200
+++ plasma-workspace-6.3.5/applets/notifications/package/contents/ui/components/JobDetails.qml	2025-06-14 23:27:20.000000000 +0200
@@ -95,7 +95,10 @@
             Layout.row: 2 + index
             Layout.fillWidth: true
             text: {
-                var processed = modelInterface.jobDetails["processed" + modelData];
+                let rawProcessed = modelInterface.jobDetails["processed" + modelData];
+                // Format number to not display as exponential
+                processed = rawProcessed.toLocaleString(Qt.locale(), 'f', 0);
+
                 var total = modelInterface.jobDetails["total" + modelData];
 
                 if (processed > 0 || total > 1) {
@@ -103,8 +106,8 @@
                         switch(modelData) {
                         case "Bytes":
                             return i18ndc("plasma_applet_org.kde.plasma.notifications", "How many bytes have been copied", "%2 of %1",
-                                KCoreAddons.Format.formatByteSize(total),
-                                KCoreAddons.Format.formatByteSize(processed))
+                                KCoreAddons.Format.formatByteSize(total).toLocaleString(Qt.locale(), 'f', 0),
+                                KCoreAddons.Format.formatByteSize(processed)).toLocaleString(Qt.locale(), 'f', 0)
                         case "Files":
                             return i18ndcp("plasma_applet_org.kde.plasma.notifications", "How many files have been copied", "%2 of %1 file", "%2 of %1 files",
                                           total, processed);
diff -ur '--exclude=po' plasma-workspace-6.3.4/applets/notifications/package/contents/ui/delegates/DelegatePopup.qml plasma-workspace-6.3.5/applets/notifications/package/contents/ui/delegates/DelegatePopup.qml
--- plasma-workspace-6.3.4/applets/notifications/package/contents/ui/delegates/DelegatePopup.qml	2025-06-14 23:27:20.000000000 +0200
+++ plasma-workspace-6.3.5/applets/notifications/package/contents/ui/delegates/DelegatePopup.qml	2025-06-14 23:27:20.000000000 +0200
@@ -137,6 +137,7 @@
         PlasmaComponents3.ScrollView {
             id: scroll
             anchors.fill: parent
+            contentWidth: bodyLabel.width
 
             // This avoids a binding loop
             PlasmaComponents3.ScrollBar.vertical.visible: modelInterface.maximumLineCount > 0 && bodyLabel.implicitHeight > parent.Layout.maximumHeight
diff -ur '--exclude=po' plasma-workspace-6.3.4/applets/notifications/package/contents/ui/main.qml plasma-workspace-6.3.5/applets/notifications/package/contents/ui/main.qml
--- plasma-workspace-6.3.4/applets/notifications/package/contents/ui/main.qml	2025-04-02 05:38:23.000000000 +0200
+++ plasma-workspace-6.3.5/applets/notifications/package/contents/ui/main.qml	2025-06-14 23:27:20.000000000 +0200
@@ -205,7 +205,7 @@
     }
 
     function closePlasmoid() {
-        if (root.hideOnWindowDeactivate) {
+        if (root.hideOnWindowDeactivate && !(root.width > root.switchWidth && root.height > root.switchHeight)) {
             root.expanded = false;
         }
     }
diff -ur '--exclude=po' plasma-workspace-6.3.4/applets/systemmonitor/systemmonitor/package/contents/ui/main.qml plasma-workspace-6.3.5/applets/systemmonitor/systemmonitor/package/contents/ui/main.qml
--- plasma-workspace-6.3.4/applets/systemmonitor/systemmonitor/package/contents/ui/main.qml	2025-04-02 05:38:23.000000000 +0200
+++ plasma-workspace-6.3.5/applets/systemmonitor/systemmonitor/package/contents/ui/main.qml	2025-06-14 23:27:20.000000000 +0200
@@ -59,7 +59,7 @@
 
     preferredRepresentation: Plasmoid.formFactor === PlasmaCore.Types.Planar ? fullRepresentation : null
 
-    Plasmoid.title: Plasmoid.faceController.title || i18n("System Monitor")
+    Plasmoid.title: Plasmoid.faceController?.title || i18n("System Monitor")
     toolTipSubText: totalSensor.sensorId ? i18nc("Sensor name: value", "%1: %2", totalSensor.name, totalSensor.formattedValue) : ""
 
     compactRepresentation: CompactRepresentation {
@@ -67,12 +67,17 @@
     fullRepresentation: FullRepresentation {
     }
 
-    Plasmoid.configurationRequired: Plasmoid.faceController.highPrioritySensorIds.length == 0 && Plasmoid.faceController.lowPrioritySensorIds.length == 0 && Plasmoid.faceController.totalSensors.length == 0
+    Plasmoid.configurationRequired: (Plasmoid.faceController ?? false) &&
+        Plasmoid.faceController.highPrioritySensorIds.length == 0 &&
+        Plasmoid.faceController.lowPrioritySensorIds.length == 0 &&
+        Plasmoid.faceController.totalSensors.length == 0 &&
+        ! (["org.kde.ksysguard.applicationstable",
+            "org.kde.ksysguard.processtable"].includes(Plasmoid.faceController.faceId))
 
     Sensors.Sensor {
         id: totalSensor
-        sensorId: Plasmoid.faceController.totalSensors[0] || ""
-        updateRateLimit: Plasmoid.faceController.updateRateLimit
+        sensorId: Plasmoid.faceController?.totalSensors[0] || ""
+        updateRateLimit: Plasmoid.faceController?.updateRateLimit
     }
 
     MouseArea {
diff -ur '--exclude=po' plasma-workspace-6.3.4/applets/systemtray/package/contents/ui/items/StatusNotifierItem.qml plasma-workspace-6.3.5/applets/systemtray/package/contents/ui/items/StatusNotifierItem.qml
--- plasma-workspace-6.3.4/applets/systemtray/package/contents/ui/items/StatusNotifierItem.qml	2025-04-02 05:38:23.000000000 +0200
+++ plasma-workspace-6.3.5/applets/systemtray/package/contents/ui/items/StatusNotifierItem.qml	2025-06-14 23:27:20.000000000 +0200
@@ -42,6 +42,11 @@
     }
 
     onActivated: pos => {
+        if (model.ItemIsMenu) {
+            openContextMenu(pos);
+            return;
+        }
+
         const service = model.Service;
         const operation = service.operationDescription("Activate");
         operation.x = pos.x; //mouseX
diff -ur '--exclude=po' plasma-workspace-6.3.4/CMakeLists.txt plasma-workspace-6.3.5/CMakeLists.txt
--- plasma-workspace-6.3.4/CMakeLists.txt	2025-04-02 05:38:23.000000000 +0200
+++ plasma-workspace-6.3.5/CMakeLists.txt	2025-06-14 23:27:20.000000000 +0200
@@ -1,7 +1,7 @@
 cmake_minimum_required(VERSION 3.16)
 
 project(plasma-workspace)
-set(PROJECT_VERSION "6.3.4")
+set(PROJECT_VERSION "6.3.5")
 string(REPLACE "." ";" VERSION_LIST ${PROJECT_VERSION})
 list(GET VERSION_LIST 0 PROJECT_VERSION_MAJOR)
 list(GET VERSION_LIST 1 PROJECT_VERSION_MINOR)
diff -ur '--exclude=po' plasma-workspace-6.3.4/components/calendar/qml/DayDelegate.qml plasma-workspace-6.3.5/components/calendar/qml/DayDelegate.qml
--- plasma-workspace-6.3.4/components/calendar/qml/DayDelegate.qml	2025-04-02 05:38:23.000000000 +0200
+++ plasma-workspace-6.3.5/components/calendar/qml/DayDelegate.qml	2025-05-06 19:59:32.000000000 +0200
@@ -45,10 +45,11 @@
     required property int yearNumber
 
     required property /*PlasmaCalendar.Calendar.DateMatchingPrecision*/int dateMatchingPrecision
+
     /*
      * The layout of this button is
-     * [label]
      * [eventIndicatorsRow]
+     * [label]
      * [subDayLabel]
      */
     property double mainLabelFontPixelSize: Math.max(
@@ -173,8 +174,8 @@
         // Basically, only active when dayStyle.dayModel is PlasmaCalendar.DaysModel
         // and thus dateMatchingPrecision is PlasmaCalendar.Calendar.MatchYearMonthAndDay
         active: dayStyle.model.eventCount !== undefined && dayStyle.model.eventCount > 0
-        anchors.bottom: parent.bottom
-        anchors.bottomMargin: subDayLabel.item?.implicitHeight ?? Kirigami.Units.smallSpacing
+        anchors.top: parent.top
+        anchors.topMargin: Kirigami.Units.largeSpacing
         anchors.horizontalCenter: parent.horizontalCenter
         sourceComponent: Row {
             id: eventIndicatorsRow
diff -ur '--exclude=po' plasma-workspace-6.3.4/components/containmentlayoutmanager/resizehandle.cpp plasma-workspace-6.3.5/components/containmentlayoutmanager/resizehandle.cpp
--- plasma-workspace-6.3.4/components/containmentlayoutmanager/resizehandle.cpp	2025-04-02 05:38:23.000000000 +0200
+++ plasma-workspace-6.3.5/components/containmentlayoutmanager/resizehandle.cpp	2025-06-14 23:27:20.000000000 +0200
@@ -156,7 +156,7 @@
 
     // Now make minimumSize an integer number of cells
     minimumSize.setWidth(ceil(minimumSize.width() / layout->cellWidth()) * layout->cellWidth());
-    minimumSize.setHeight(ceil(minimumSize.height() / layout->cellWidth()) * layout->cellHeight());
+    minimumSize.setHeight(ceil(minimumSize.height() / layout->cellHeight()) * layout->cellHeight());
 
     // Horizontal resize
     if (resizeLeft()) {
diff -ur '--exclude=po' plasma-workspace-6.3.4/components/sessionsprivate/sessionsmodel.cpp plasma-workspace-6.3.5/components/sessionsprivate/sessionsmodel.cpp
--- plasma-workspace-6.3.4/components/sessionsprivate/sessionsmodel.cpp	2025-04-02 05:38:23.000000000 +0200
+++ plasma-workspace-6.3.5/components/sessionsprivate/sessionsmodel.cpp	2025-06-14 23:27:20.000000000 +0200
@@ -187,11 +187,11 @@
     }
 }
 
-void SessionsModel::checkScreenLocked(const std::function<void(bool)> &cb)
+void SessionsModel::checkScreenLocked(std::function<void(bool)> &&cb)
 {
     auto reply = m_screensaverInterface->GetActive();
     QDBusPendingCallWatcher *watcher = new QDBusPendingCallWatcher(reply, this);
-    QObject::connect(watcher, &QDBusPendingCallWatcher::finished, this, [cb](QDBusPendingCallWatcher *watcher) {
+    QObject::connect(watcher, &QDBusPendingCallWatcher::finished, this, [cb = std::move(cb)](QDBusPendingCallWatcher *watcher) {
         QDBusPendingReply<bool> reply = *watcher;
         if (!reply.isError()) {
             cb(reply.value());
diff -ur '--exclude=po' plasma-workspace-6.3.4/components/sessionsprivate/sessionsmodel.h plasma-workspace-6.3.5/components/sessionsprivate/sessionsmodel.h
--- plasma-workspace-6.3.4/components/sessionsprivate/sessionsmodel.h	2025-04-02 05:38:23.000000000 +0200
+++ plasma-workspace-6.3.5/components/sessionsprivate/sessionsmodel.h	2025-06-14 23:27:20.000000000 +0200
@@ -91,7 +91,7 @@
     void aboutToLockScreen();
 
 private:
-    void checkScreenLocked(const std::function<void(bool)> &cb);
+    void checkScreenLocked(std::function<void(bool)> &&cb);
 
     KDisplayManager m_displayManager;
 
diff -ur '--exclude=po' plasma-workspace-6.3.4/debian/changelog plasma-workspace-6.3.5/debian/changelog
--- plasma-workspace-6.3.4/debian/changelog	2025-04-03 01:02:59.000000000 +0200
+++ plasma-workspace-6.3.5/debian/changelog	2025-05-20 08:31:26.000000000 +0200
@@ -1,3 +1,58 @@
+plasma-workspace (4:6.3.5-1) unstable; urgency=medium
+
+  [ Aurélien COUDERC ]
+  * New upstream release (6.3.5).
+    - Notification: Escape lonely < and > symbols. (kde#502106)
+    - Calendar: Move event indicator above main label.
+    - Appelts/notifications: Fix Notifications positions. (kde#500192,
+    kde#498599, kde#491217, kde#502160)
+    - Applets/notifications: improve paddings again.
+    - Multiscreen: fix an incorrect assert in screenInvariants. (kde#494616)
+  * Relax inter-plasma versioned dependency constraint so we can upload
+    only 6.3.5 packages that have actual code changes.
+  * Drop backported patch now part of the upstream release.
+  * Backport upstream commits scheduled for 6.3.6:
+    - Fix entirely wrong colours when enabling "Tint all colours with accent
+    colour". (kde#503394)
+    - Remove pointless "mount" action for audio CDs and blank optical media.
+    (kde#503999)
+    - libnotificationmanager: fix critical notifications not showing when Do
+    not disturb is active.
+    - components/sessionprivate: fix a potential crash in SessionsModel.
+    - Fix deleting downloaded files from the notifications. (kde#504385)
+    - Fix cell height calculation during vertical resizing.
+    - klipper: make "Add Actions" dialog only window-modal to avoid blocking
+    plasmashell completely. (kde#501938)
+  * Backport other upstream commits:
+    - Fix lockscreen showing a placeholder instead of the real multimedia
+    player name in some multi-player setups.
+    - Fix Scroll Wheel issue in the All Applications section of the launcher.
+    (kde#486481)
+    - Fix implementation of the StatusNotifierItem spec to support context
+    menu on left click in the system tray.
+    - Never use scientific notation even for big numbers in notifications.
+    (kde#422166)
+    - Fix global menu sometimes showing menu items from non-active app.
+    (kde#473714)
+    - Fix issue in sorting users list to put the logged in user first.
+    - Prevent trying to delete the logged in user and failing. (kde#495494)
+    - Make selecting the C locale in regional options actually work.
+    (kde#500432)
+    - Fix duplicate optical devices in disks and devices applet. (kde#495140)
+    - Disable pointless and surprising horizontal scrolling of notifications
+    contents.
+    - Warn users about full storage not just on / and /home.
+    - Fix incorrect wallpaper preview when using screens with widely different
+    aspect ratios. (kde#483097)
+    - Fix OSD not properly displaying RTL languages. (kde#503255)
+    - Fix Notifications widget added to the desktop not showing new
+    notifications. (kde#503815)
+    - Fix “Process Table” visualization for blank System Monitor sensor
+    widgets to no longer incorrectly makes them think they’re in need of
+    configuration the next time you restart Plasma or the system. (kde#504335)
+
+ -- Aurélien COUDERC <coucouf@debian.org>  Tue, 20 May 2025 08:31:26 +0200
+
 plasma-workspace (4:6.3.4-1) unstable; urgency=medium
 
   [ Patrick Franz ]
Seulement dans plasma-workspace-6.3.4/debian/patches: improve_paddings.patch
Seulement dans plasma-workspace-6.3.5/debian/patches: relax-interplasma-versioned-deps.patch
diff -ur '--exclude=po' plasma-workspace-6.3.4/debian/patches/series plasma-workspace-6.3.5/debian/patches/series
--- plasma-workspace-6.3.4/debian/patches/series	2025-04-03 00:27:51.000000000 +0200
+++ plasma-workspace-6.3.5/debian/patches/series	2025-05-20 08:31:26.000000000 +0200
@@ -1,2 +1,25 @@
-# fixed in 6.3.5
-improve_paddings.patch
+relax-interplasma-versioned-deps.patch
+upstream_e4e0dee5_libkmpris-allow-MultiplexerModel-to-show-actual-player-name.patch
+upstream_4f9b1a69_Fix-Scroll-Wheel-issue-in-AllApps-submenu-of-Application-Dashboard.patch
+upstream_f17c2546_applets-systemtray-Open-context-menu-on-click-when-ItemIsMenu.patch
+upstream_cf206f9d_applets-notifications-never-use-scientific-notation-for-large-numbers.patch
+upstream_73875471_applets-appmenu-Fix-displaying-menu-of-the-previous-active-window.patch
+upstream_5d008e00_applets-appmenu-Store-dbus-menu-importer-in-a-std-unique-ptr.patch
+upstream_fbb2e6d3_users-kcm-Fix-issue-in-sorting-user-list.patch
+upstream_9abfdd26_kcm-users-refine-deleting-logged-in-user-UX.patch
+upstream_c9ee2931_kcm-regionandlang-add-locale-C-to-mapping-and-always-set-LANG-and-LC-.patch
+upstream_a83c4e5f_applets-devicenotifier-check-if-device-has-been-added-before.patch
+upstream_2c27c9db_applets-notifications-don-t-allow-horizontal-scrolling.patch
+upstream_9e0939c1_Warn-user-about-full-storage-in-any-device-partition.patch
+upstream_6d12cde3_wallpapers-image-Fix-thumbnails-not-matching-output-size.patch
+upstream_8845c001_shell-Osd-Fix-missing-RTL.patch
+upstream_142caad0_applets-notification-fix-fullRepresentation-only-widgets.patch
+upstream_32a7cf2a_colorsapplicator-Don-t-allow-extended-RGB-from-OKLabToLinearSRGB.patch
+upstream_60859fa9_applets-devicenotifier-fix-pointless-mount-action.patch
+upstream_7635c551_libnotificationmanager-fix-critical-notifications-not-showing-when-Do-not-disturb-is-active.patch
+upstream_72719edd_components-sessionprivate-fix-a-potential-crash-in-SessionsModel.patch
+upstream_41a554e6_applets-notifications-Don-t-set-a-parent-for-WidgetsAskUserActionHandler.patch
+upstream_2c855c2f_Fix-cell-height-calc-in-resize-handle.patch
+upstream_bf67f256_klipper-make-Add-Actions-dialog-only-window-modal.patch
+upstream_d4df9b5f_applets-systemmonitor-handle-null-faceController.patch
+upstream_b9bc83c6_applets-systemmonitor-skip-configure-button-on-sensorless-faces.patch
Seulement dans plasma-workspace-6.3.5/debian/patches: upstream_142caad0_applets-notification-fix-fullRepresentation-only-widgets.patch
Seulement dans plasma-workspace-6.3.5/debian/patches: upstream_2c27c9db_applets-notifications-don-t-allow-horizontal-scrolling.patch
Seulement dans plasma-workspace-6.3.5/debian/patches: upstream_2c855c2f_Fix-cell-height-calc-in-resize-handle.patch
Seulement dans plasma-workspace-6.3.5/debian/patches: upstream_32a7cf2a_colorsapplicator-Don-t-allow-extended-RGB-from-OKLabToLinearSRGB.patch
Seulement dans plasma-workspace-6.3.5/debian/patches: upstream_41a554e6_applets-notifications-Don-t-set-a-parent-for-WidgetsAskUserActionHandler.patch
Seulement dans plasma-workspace-6.3.5/debian/patches: upstream_4f9b1a69_Fix-Scroll-Wheel-issue-in-AllApps-submenu-of-Application-Dashboard.patch
Seulement dans plasma-workspace-6.3.5/debian/patches: upstream_5d008e00_applets-appmenu-Store-dbus-menu-importer-in-a-std-unique-ptr.patch
Seulement dans plasma-workspace-6.3.5/debian/patches: upstream_60859fa9_applets-devicenotifier-fix-pointless-mount-action.patch
Seulement dans plasma-workspace-6.3.5/debian/patches: upstream_6d12cde3_wallpapers-image-Fix-thumbnails-not-matching-output-size.patch
Seulement dans plasma-workspace-6.3.5/debian/patches: upstream_72719edd_components-sessionprivate-fix-a-potential-crash-in-SessionsModel.patch
Seulement dans plasma-workspace-6.3.5/debian/patches: upstream_73875471_applets-appmenu-Fix-displaying-menu-of-the-previous-active-window.patch
Seulement dans plasma-workspace-6.3.5/debian/patches: upstream_7635c551_libnotificationmanager-fix-critical-notifications-not-showing-when-Do-not-disturb-is-active.patch
Seulement dans plasma-workspace-6.3.5/debian/patches: upstream_8845c001_shell-Osd-Fix-missing-RTL.patch
Seulement dans plasma-workspace-6.3.5/debian/patches: upstream_9abfdd26_kcm-users-refine-deleting-logged-in-user-UX.patch
Seulement dans plasma-workspace-6.3.5/debian/patches: upstream_9e0939c1_Warn-user-about-full-storage-in-any-device-partition.patch
Seulement dans plasma-workspace-6.3.5/debian/patches: upstream_a83c4e5f_applets-devicenotifier-check-if-device-has-been-added-before.patch
Seulement dans plasma-workspace-6.3.5/debian/patches: upstream_b9bc83c6_applets-systemmonitor-skip-configure-button-on-sensorless-faces.patch
Seulement dans plasma-workspace-6.3.5/debian/patches: upstream_bf67f256_klipper-make-Add-Actions-dialog-only-window-modal.patch
Seulement dans plasma-workspace-6.3.5/debian/patches: upstream_c9ee2931_kcm-regionandlang-add-locale-C-to-mapping-and-always-set-LANG-and-LC-.patch
Seulement dans plasma-workspace-6.3.5/debian/patches: upstream_cf206f9d_applets-notifications-never-use-scientific-notation-for-large-numbers.patch
Seulement dans plasma-workspace-6.3.5/debian/patches: upstream_d4df9b5f_applets-systemmonitor-handle-null-faceController.patch
Seulement dans plasma-workspace-6.3.5/debian/patches: upstream_e4e0dee5_libkmpris-allow-MultiplexerModel-to-show-actual-player-name.patch
Seulement dans plasma-workspace-6.3.5/debian/patches: upstream_f17c2546_applets-systemtray-Open-context-menu-on-click-when-ItemIsMenu.patch
Seulement dans plasma-workspace-6.3.5/debian/patches: upstream_fbb2e6d3_users-kcm-Fix-issue-in-sorting-user-list.patch
diff -ur '--exclude=po' plasma-workspace-6.3.4/freespacenotifier/CMakeLists.txt plasma-workspace-6.3.5/freespacenotifier/CMakeLists.txt
--- plasma-workspace-6.3.4/freespacenotifier/CMakeLists.txt	2025-04-02 05:38:23.000000000 +0200
+++ plasma-workspace-6.3.5/freespacenotifier/CMakeLists.txt	2025-06-14 23:27:20.000000000 +0200
@@ -21,7 +21,6 @@
 
 target_link_libraries(freespacenotifier
     Qt6::Concurrent
-    QCoro::Core
     KF6::ConfigWidgets
     KF6::DBusAddons
     KF6::I18n
@@ -30,6 +29,7 @@
     KF6::Notifications
     KF6::JobWidgets
     KF6::Service
+    KF6::Solid
 )
 
 ########### install files ###############
diff -ur '--exclude=po' plasma-workspace-6.3.4/freespacenotifier/freespacenotifier.cpp plasma-workspace-6.3.5/freespacenotifier/freespacenotifier.cpp
--- plasma-workspace-6.3.4/freespacenotifier/freespacenotifier.cpp	2025-04-02 05:38:23.000000000 +0200
+++ plasma-workspace-6.3.5/freespacenotifier/freespacenotifier.cpp	2025-06-14 23:27:20.000000000 +0200
@@ -14,23 +14,25 @@
 #include <KNotificationJobUiDelegate>
 
 #include <KIO/ApplicationLauncherJob>
+#include <KIO/FileSystemFreeSpaceJob>
 #include <KIO/OpenUrlJob>
 
-#include <QStorageInfo>
-#include <QtConcurrent>
+#include <Solid/Device>
+#include <Solid/StorageAccess>
 
-#include <QCoroFuture>
-#include <QCoroTask>
+#include <QFileInfo>
 
 #include <chrono>
 
 #include "settings.h"
 
-FreeSpaceNotifier::FreeSpaceNotifier(const QString &path, const KLocalizedString &notificationText, QObject *parent)
+FreeSpaceNotifier::FreeSpaceNotifier(const QString &udi, const QString &path, const KLocalizedString &notificationText, QObject *parent)
     : QObject(parent)
+    , m_udi(udi)
     , m_path(path)
     , m_notificationText(notificationText)
 {
+    checkFreeDiskSpace();
     connect(&m_timer, &QTimer::timeout, this, &FreeSpaceNotifier::checkFreeDiskSpace);
     m_timer.start(std::chrono::minutes(1));
 }
@@ -51,51 +53,44 @@
         return;
     }
 
-    if (m_checking) {
-        qCWarning(FSN) << "Obtaining storage info is taking a long while for" << m_path;
+    Solid::Device device(m_udi);
+
+    Solid::StorageAccess *storageaccess = device.as<Solid::StorageAccess>();
+    if (!storageaccess || !storageaccess->isAccessible()) {
+        qCDebug(FSN) << "Space Monitor: failed to get storage access " << m_udi;
         return;
     }
-    m_checking = true;
 
-    // Load the QStorageInfo in a co-routine in case the filesystem is having performance issues.
-    auto future = QtConcurrent::run([path = m_path]() -> std::optional<QStorageInfo> {
-        QStorageInfo info(path);
-        if (!info.isValid()) {
-            qCWarning(FSN) << "Failed to obtain storage info for" << path;
-            return {};
-        }
-        if (!info.isReady()) {
-            qCWarning(FSN) << "Storage info is not ready for" << path;
-            return {};
-        }
-        return info;
-    });
-    QCoro::connect(std::move(future), this, [this](const auto &optionalInfo) {
-        m_checking = false;
-        if (!optionalInfo.has_value()) {
-            qCDebug(FSN) << "Empty QStorageInfo for" << m_path;
-            return;
-        }
-        const QStorageInfo &info = optionalInfo.value();
-        if (info.isReadOnly()) {
-            qCDebug(FSN) << "Not checking for free space for read only mount point" << m_path;
+    QString path = storageaccess->filePath();
+
+    // create job
+    KIO::FileSystemFreeSpaceJob *job = KIO::fileSystemFreeSpace(QUrl::fromLocalFile(path));
+
+    // collect and process info
+    connect(job, &KJob::result, this, [this, job]() {
+        if (job->error()) {
+            qCDebug(FSN) << "Space Monitor: failed to get storage access " << m_udi;
             return;
         }
-
-        const int limit = FreeSpaceNotifierSettings::minimumSpace(); // MiB
-        const qint64 avail = info.bytesAvailable() / (1024 * 1024); // to MiB
-        qCDebug(FSN) << "Available MiB for" << m_path << ":" << avail;
+        KIO::filesize_t size = job->size();
+        KIO::filesize_t available = job->availableSize();
+        const qint64 totalSpaceMB = size / (1024 * 1024); // to MiB
+        const int percLimit = (FreeSpaceNotifierSettings::minimumSpacePercentage() * totalSpaceMB) / 100;
+        const int fixedLimit = FreeSpaceNotifierSettings::minimumSpace();
+        const int limit = qMin(fixedLimit, percLimit);
+        const qint64 avail = available / (1024 * 1024); // to MiB
 
         if (avail >= limit) {
             if (m_notification) {
                 m_notification->close();
             }
+            m_lastAvail = avail;
             return;
         }
 
-        const int availPercent = int(100 * info.bytesAvailable() / info.bytesTotal());
+        const int availPercent = int(100 * available / size);
         const QString text = m_notificationText.subs(avail).subs(availPercent).toString();
-        qCDebug(FSN) << "Available percentage for" << m_path << ":" << availPercent;
+        qCDebug(FSN) << "Available percentage for" << m_udi << ":" << availPercent;
 
         // Make sure the notification text is always up to date whenever we checked free space
         if (m_notification) {
@@ -109,7 +104,7 @@
         }
 
         // Always warn the first time or when available space dropped to half of the previous time
-        const bool warn = (m_lastAvail < 0 || avail < m_lastAvail / 2);
+        const bool warn = (m_lastAvail >= limit || avail < m_lastAvail / 2);
         if (!warn) {
             return;
         }
@@ -180,7 +175,7 @@
 
 void FreeSpaceNotifier::resetLastAvailable()
 {
-    m_lastAvail = -1;
+    m_lastAvail = FreeSpaceNotifierSettings::minimumSpace();
     m_lastAvailTimer->deleteLater();
     m_lastAvailTimer = nullptr;
 }
diff -ur '--exclude=po' plasma-workspace-6.3.4/freespacenotifier/freespacenotifier.h plasma-workspace-6.3.5/freespacenotifier/freespacenotifier.h
--- plasma-workspace-6.3.4/freespacenotifier/freespacenotifier.h	2025-04-02 05:38:23.000000000 +0200
+++ plasma-workspace-6.3.5/freespacenotifier/freespacenotifier.h	2025-06-14 23:27:20.000000000 +0200
@@ -22,7 +22,7 @@
     Q_OBJECT
 
 public:
-    explicit FreeSpaceNotifier(const QString &path, const KLocalizedString &notificationText, QObject *parent = nullptr);
+    explicit FreeSpaceNotifier(const QString &udi, const QString &path, const KLocalizedString &notificationText, QObject *parent = nullptr);
     ~FreeSpaceNotifier() override;
 
 Q_SIGNALS:
@@ -39,6 +39,7 @@
     // Only run one check at a time
     bool m_checking = false;
 
+    const QString m_udi;
     const QString m_path;
     KLocalizedString m_notificationText;
 
diff -ur '--exclude=po' plasma-workspace-6.3.4/freespacenotifier/freespacenotifier.kcfg plasma-workspace-6.3.5/freespacenotifier/freespacenotifier.kcfg
--- plasma-workspace-6.3.4/freespacenotifier/freespacenotifier.kcfg	2025-04-02 05:38:23.000000000 +0200
+++ plasma-workspace-6.3.5/freespacenotifier/freespacenotifier.kcfg	2025-06-14 23:27:20.000000000 +0200
@@ -6,10 +6,16 @@
   <kcfgfile name="freespacenotifierrc"/>
   <group name="General">
     <entry name="minimumSpace" type="Int">
-	    <label>Minimum free space before user starts being notified.</label>
-	    <default>200</default>
-	    <min>1</min>
-	    <max>100000</max>
+      <label>Minimum free space before user starts being notified.</label>
+      <default>200</default>
+      <min>1</min>
+      <max>100000</max>
+    </entry>
+    <entry name="minimumSpacePercentage" type="Int">
+      <label>Minimum percentage free space before user starts being notified.</label>
+      <default>5</default>
+      <min>1</min>
+      <max>30</max>
     </entry>
     <entry name="enableNotification" type="Bool">
 	    <label>Is the free space notification enabled.</label>
diff -ur '--exclude=po' plasma-workspace-6.3.4/freespacenotifier/freespacenotifier_prefs_base.ui plasma-workspace-6.3.5/freespacenotifier/freespacenotifier_prefs_base.ui
--- plasma-workspace-6.3.4/freespacenotifier/freespacenotifier_prefs_base.ui	2025-04-02 05:38:23.000000000 +0200
+++ plasma-workspace-6.3.5/freespacenotifier/freespacenotifier_prefs_base.ui	2025-06-14 23:27:20.000000000 +0200
@@ -7,11 +7,11 @@
     <x>0</x>
     <y>0</y>
     <width>320</width>
-    <height>217</height>
+    <height>250</height>
    </rect>
   </property>
   <layout class="QGridLayout" name="gridLayout">
-   <item row="0" column="0">
+   <item row="0" column="0" colspan="2">
     <widget class="QCheckBox" name="kcfg_enableNotification">
      <property name="text">
       <string>Enable low disk space warning</string>
@@ -39,6 +39,39 @@
     </widget>
    </item>
    <item row="2" column="0">
+    <widget class="QLabel" name="label_minimumSpacePercentage">
+     <property name="text">
+      <string>And when free space is under:</string>
+     </property>
+     <property name="alignment">
+      <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+     </property>
+    </widget>
+   </item>
+   <item row="2" column="1">
+    <widget class="QSpinBox" name="kcfg_minimumSpacePercentage">
+     <property name="suffix">
+      <string>%</string>
+     </property>
+     <property name="minimum">
+      <number>0</number>
+     </property>
+     <property name="maximum">
+      <number>100</number>
+     </property>
+    </widget>
+   </item>
+   <item row="3" column="0" colspan="2">
+    <widget class="QLabel" name="label_info">
+     <property name="text">
+      <string>The system will notify you if the free space drops below the specified MiB and the specified percentage of available space.</string>
+     </property>
+     <property name="wordWrap">
+      <bool>true</bool>
+     </property>
+    </widget>
+   </item>
+   <item row="4" column="0" colspan="2">
     <spacer name="verticalSpacer">
      <property name="orientation">
       <enum>Qt::Vertical</enum>
@@ -60,32 +93,24 @@
    <signal>toggled(bool)</signal>
    <receiver>kcfg_minimumSpace</receiver>
    <slot>setEnabled(bool)</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>114</x>
-     <y>15</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>272</x>
-     <y>44</y>
-    </hint>
-   </hints>
   </connection>
   <connection>
    <sender>kcfg_enableNotification</sender>
    <signal>toggled(bool)</signal>
    <receiver>label_minimumSpace</receiver>
    <slot>setEnabled(bool)</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>114</x>
-     <y>15</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>114</x>
-     <y>44</y>
-    </hint>
-   </hints>
+  </connection>
+  <connection>
+   <sender>kcfg_enableNotification</sender>
+   <signal>toggled(bool)</signal>
+   <receiver>kcfg_minimumSpacePercentage</receiver>
+   <slot>setEnabled(bool)</slot>
+  </connection>
+  <connection>
+   <sender>kcfg_enableNotification</sender>
+   <signal>toggled(bool)</signal>
+   <receiver>label_minimumSpacePercentage</receiver>
+   <slot>setEnabled(bool)</slot>
   </connection>
  </connections>
 </ui>
diff -ur '--exclude=po' plasma-workspace-6.3.4/freespacenotifier/module.cpp plasma-workspace-6.3.5/freespacenotifier/module.cpp
--- plasma-workspace-6.3.4/freespacenotifier/module.cpp	2025-04-02 05:38:23.000000000 +0200
+++ plasma-workspace-6.3.5/freespacenotifier/module.cpp	2025-06-14 23:27:20.000000000 +0200
@@ -4,7 +4,7 @@
     SPDX-FileCopyrightText: 2009 Ivo Anjo <knuckles@gmail.com>
 
     SPDX-License-Identifier: GPL-2.0-or-later
-*/
+ */
 
 #include "module.h"
 
@@ -12,6 +12,12 @@
 #include <KMountPoint>
 #include <KPluginFactory>
 
+#include <Solid/Device>
+#include <Solid/DeviceNotifier>
+#include <Solid/GenericInterface>
+#include <Solid/StorageAccess>
+#include <Solid/StorageVolume>
+
 #include <QDir>
 
 #include "kded_interface.h"
@@ -28,20 +34,83 @@
     // If the module is loaded, notifications are enabled
     FreeSpaceNotifierSettings::setEnableNotification(true);
 
-    const QString rootPath = QStringLiteral("/");
-    const QString homePath = QDir::homePath();
+    auto m_notifier = Solid::DeviceNotifier::instance();
+    connect(m_notifier, &Solid::DeviceNotifier::deviceAdded, this, [this](const QString &udi) {
+        Solid::Device device(udi);
+
+        // Required for two stage devices
+        if (auto volume = device.as<Solid::StorageVolume>()) {
+            Solid::GenericInterface *iface = device.as<Solid::GenericInterface>();
+            if (iface) {
+                iface->setProperty("udi", udi);
+                connect(iface, &Solid::GenericInterface::propertyChanged, this, [this, udi]() {
+                    onNewSolidDevice(udi);
+                });
+            }
+        }
+        onNewSolidDevice(udi);
+    });
+    connect(m_notifier, &Solid::DeviceNotifier::deviceRemoved, this, [this](const QString &udi) {
+        stopTracking(udi);
+    });
+
+    const auto devices = Solid::Device::listFromType(Solid::DeviceInterface::StorageAccess);
+    for (auto device : devices) {
+        onNewSolidDevice(device.udi());
+    };
+}
 
-    const QStorageInfo rootInfo(rootPath);
-    const QStorageInfo homeInfo(homePath);
+void FreeSpaceNotifierModule::onNewSolidDevice(const QString &udi)
+{
+    Solid::Device device(udi);
+    Solid::StorageAccess *access = device.as<Solid::StorageAccess>();
+    if (!access) {
+        return;
+    }
 
-    // Always monitor home
-    auto *homeNotifier = new FreeSpaceNotifier(homePath, ki18n("Your Home folder is running out of disk space, you have %1 MiB remaining (%2%)."), this);
-    connect(homeNotifier, &FreeSpaceNotifier::configureRequested, this, &FreeSpaceNotifierModule::showConfiguration);
-
-    // Monitor '/' when it is different from home
-    if (rootInfo != homeInfo) {
-        auto *rootNotifier = new FreeSpaceNotifier(rootPath, ki18n("Your Root partition is running out of disk space, you have %1 MiB remaining (%2%)."), this);
-        connect(rootNotifier, &FreeSpaceNotifier::configureRequested, this, &FreeSpaceNotifierModule::showConfiguration);
+    // We only track a partition if we are able to
+    // determine that it's not read only.
+    bool isReadOnly = true;
+    if (auto generic = device.as<Solid::GenericInterface>()) {
+        isReadOnly = generic->property(QStringLiteral("ReadOnly")).toBool();
+    }
+    if (isReadOnly) {
+        return;
+    }
+
+    if (access->isAccessible()) {
+        startTracking(udi, access);
+    }
+    connect(access, &Solid::StorageAccess::accessibilityChanged, this, [this, udi, access](bool available) {
+        if (available) {
+            startTracking(udi, access);
+        } else {
+            stopTracking(udi);
+        }
+    });
+}
+
+void FreeSpaceNotifierModule::startTracking(const QString &udi, Solid::StorageAccess *access)
+{
+    if (m_notifiers.contains(udi)) {
+        return;
+    }
+    Solid::Device device(udi);
+
+    KLocalizedString message = ki18n("Your %1 partition is running out of disk space; %2 MiB of space remaining (%3%).").subs(device.displayName());
+    if (access->filePath() == QStringLiteral("/")) {
+        message = ki18n("Your Root partition is running out of disk space; %1 MiB of space remaining (%2%).");
+    } else if (access->filePath() == QDir::homePath()) {
+        message = ki18n("Your Home folder is running out of disk space; %1 MiB of space remaining (%2%).");
+    }
+    auto *notifier = new FreeSpaceNotifier(udi, access->filePath(), message, this);
+    m_notifiers.insert(udi, notifier);
+}
+
+void FreeSpaceNotifierModule::stopTracking(const QString &udi)
+{
+    if (m_notifiers.contains(udi)) {
+        delete m_notifiers.take(udi);
     }
 }
 
diff -ur '--exclude=po' plasma-workspace-6.3.4/freespacenotifier/module.h plasma-workspace-6.3.5/freespacenotifier/module.h
--- plasma-workspace-6.3.4/freespacenotifier/module.h	2025-04-02 05:38:23.000000000 +0200
+++ plasma-workspace-6.3.5/freespacenotifier/module.h	2025-06-14 23:27:20.000000000 +0200
@@ -11,6 +11,8 @@
 #include <KDEDModule>
 #include <QObject>
 
+#include <Solid/StorageAccess>
+
 #include "freespacenotifier.h"
 
 class FreeSpaceNotifierModule : public KDEDModule
@@ -21,4 +23,9 @@
 
 private:
     void showConfiguration();
+    void onNewSolidDevice(const QString &udi);
+    void startTracking(const QString &udi, Solid::StorageAccess *access);
+    void stopTracking(const QString &udi);
+
+    QMap<QString, FreeSpaceNotifier *> m_notifiers;
 };
diff -ur '--exclude=po' plasma-workspace-6.3.4/freespacenotifier/settings.kcfgc plasma-workspace-6.3.5/freespacenotifier/settings.kcfgc
--- plasma-workspace-6.3.4/freespacenotifier/settings.kcfgc	2025-04-02 05:38:23.000000000 +0200
+++ plasma-workspace-6.3.5/freespacenotifier/settings.kcfgc	2025-06-14 23:27:20.000000000 +0200
@@ -2,5 +2,5 @@
 File=freespacenotifier.kcfg
 ClassName=FreeSpaceNotifierSettings
 Singleton=true
-Mutators=minimumSpace,enableNotification
+Mutators=minimumSpace,minimumSpacePercentage,enableNotification
 # will create the necessary code for setting those variables
diff -ur '--exclude=po' plasma-workspace-6.3.4/geotimezoned/geotimezoned.json plasma-workspace-6.3.5/geotimezoned/geotimezoned.json
--- plasma-workspace-6.3.4/geotimezoned/geotimezoned.json	2025-04-02 05:38:23.000000000 +0200
+++ plasma-workspace-6.3.5/geotimezoned/geotimezoned.json	2025-05-06 19:59:32.000000000 +0200
@@ -17,6 +17,7 @@
         "Description[is]": "Breyta sjálfvirkt tímabelti kerfis út frá fyrirliggjandi staðsetningu",
         "Description[it]": "Cambia automaticamente il fuso orario del sistema in base alla posizione attuale",
         "Description[ka]": "სისტემური დროის სარტყლის ავტომატური შეცვლა მიმდინარე მდებარეობის მიხედვით",
+        "Description[ko]": "현재 위치에 따라서 현재 시스템 시간대를 자동으로 변경",
         "Description[lt]": "Automatiškai keisti sistemos laiko juostą remiantis dabartine vietove",
         "Description[nb]": "Endre systemtidssona automatisk etter gjeldende plassering",
         "Description[nl]": "Automatisch de systeemtijdzone wijzigen gebaseerd op de huidige locatie",
@@ -47,6 +48,7 @@
         "Name[is]": "Tímabelti kerfis byggt á staðsetningu",
         "Name[it]": "Fuso orario del sistema in base alla posizione",
         "Name[ka]": "მდებარეობაზე დამოკიდებული სისტემური დროის სარტყელი",
+        "Name[ko]": "위치 기반 시스템 시간대",
         "Name[lt]": "Vietove pagrįsta sistemos laiko juosta",
         "Name[nb]": "Systemtidssone etter plassering",
         "Name[nl]": "Op locatie gebaseerde systeemtijdzone",
diff -ur '--exclude=po' plasma-workspace-6.3.4/kcms/colors/colorsapplicator.cpp plasma-workspace-6.3.5/kcms/colors/colorsapplicator.cpp
--- plasma-workspace-6.3.4/kcms/colors/colorsapplicator.cpp	2025-04-02 05:38:23.000000000 +0200
+++ plasma-workspace-6.3.5/kcms/colors/colorsapplicator.cpp	2025-06-14 23:27:20.000000000 +0200
@@ -100,7 +100,7 @@
     const auto g = -1.2684380046 * l + 2.6097574011 * m - 0.3413193965 * s;
     const auto b = -0.0041960863 * l - 0.7034186147 * m + 1.7076147010 * s;
 
-    return QColor::fromRgbF(r, g, b);
+    return QColor::fromRgbF(r, g, b).toRgb();
 }
 
 auto toLinearSRGB = QColorSpace(QColorSpace::SRgb).transformationToColorSpace(QColorSpace::SRgbLinear);
diff -ur '--exclude=po' plasma-workspace-6.3.4/kcms/region_language/kcmregionandlang.cpp plasma-workspace-6.3.5/kcms/region_language/kcmregionandlang.cpp
--- plasma-workspace-6.3.4/kcms/region_language/kcmregionandlang.cpp	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/kcms/region_language/kcmregionandlang.cpp	2025-06-14 23:27:20.000000000 +0200
@@ -137,10 +137,6 @@
 
 void KCMRegionAndLang::save()
 {
-    if (!settings()->isDefaultSetting(SettingType::Lang)) {
-        settings()->setLC_Vars(settings()->lang());
-    }
-
     if (settings()->isSaveNeeded()) {
         // assemble full locales in use
         QStringList locales;
@@ -264,7 +260,7 @@
         return;
     case SettingType::Lang:
         entry = "LANG";
-        settings()->setLang(settings()->defaultLangValue());
+        settings()->setLang(QString());
         break;
     case SettingType::Numeric:
         entry = "LC_NUMERIC";
@@ -351,7 +347,7 @@
 #ifdef GLIBC_LOCALE
 std::unordered_map<QString, QString> KCMRegionAndLang::constructGlibcLocaleMap()
 {
-    std::unordered_map<QString, QString> localeMap;
+    std::unordered_map<QString, QString> localeMap = {{QStringLiteral("C"), QStringLiteral("C")}};
 
     QDir glibcLocaleDir(localeFileDirPath());
     auto availableLocales = glibcLocaleDir.entryList(QDir::Files);
diff -ur '--exclude=po' plasma-workspace-6.3.4/kcms/region_language/languagelistmodel.cpp plasma-workspace-6.3.5/kcms/region_language/languagelistmodel.cpp
--- plasma-workspace-6.3.4/kcms/region_language/languagelistmodel.cpp	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/kcms/region_language/languagelistmodel.cpp	2025-06-14 23:27:20.000000000 +0200
@@ -385,7 +385,7 @@
         return;
     }
     if (m_selectedLanguages.empty()) {
-        m_settings->setLang(m_settings->defaultLangValue());
+        m_settings->setLang(m_settings->langWithFallback());
         m_settings->config()->group(QStringLiteral("Formats")).deleteEntry("lang");
         m_settings->config()->group(QStringLiteral("Translations")).deleteEntry("language");
     } else {
diff -ur '--exclude=po' plasma-workspace-6.3.4/kcms/region_language/optionsmodel.cpp plasma-workspace-6.3.5/kcms/region_language/optionsmodel.cpp
--- plasma-workspace-6.3.4/kcms/region_language/optionsmodel.cpp	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/kcms/region_language/optionsmodel.cpp	2025-06-14 23:27:20.000000000 +0200
@@ -126,25 +126,7 @@
             Q_ASSERT(false); // shouldn't happen
             return {};
         case Lang:
-            if (m_settings->defaultLangValue().isEmpty() && m_settings->isDefaultSetting(SettingType::Lang)) {
-                // no Lang configured, no $LANG in env
-                return i18nc("@info:title, the current setting is system default", "System Default");
-            } else if (!m_settings->lang().isEmpty() && m_settings->lang() != m_settings->defaultLangValue()) {
-                // Lang configured and not empty
-                return getNativeName(m_settings->lang());
-            } else {
-                // Lang configured but empty, try to read from $LANGUAGE first.
-                if (const QString languages = m_settings->defaultLanguageValue(); !languages.isEmpty()) {
-                    // If the first language is invalid, just fall through to $LANG
-                    const QStringList languageList = languages.split(QLatin1Char(':'));
-                    if (const QString firstLanguage = getNativeName(languageList[0]); !firstLanguage.isEmpty()) {
-                        return firstLanguage;
-                    }
-                }
-
-                // Lang configured but empty, try to read from $LANG, shouldn't happen on a valid config file
-                return getNativeName(m_settings->defaultLangValue());
-            }
+            return getNativeName(m_settings->langWithFallback());
         case Numeric:
             if (m_settings->isDefaultSetting(SettingType::Numeric)) {
                 return getNativeName(m_settings->numeric());
@@ -369,8 +351,8 @@
 
     if (!m_settings->lang().isEmpty()) {
         locale = getNativeName(m_settings->lang());
-    } else if (!m_settings->defaultLangValue().isEmpty()) {
-        locale = getNativeName(m_settings->defaultLangValue());
+    } else if (!m_settings->langWithFallback().isEmpty()) {
+        locale = getNativeName(m_settings->langWithFallback());
     } else {
         locale = i18nc("@info:title, the current setting is system default", "System Default");
     }
diff -ur '--exclude=po' plasma-workspace-6.3.4/kcms/region_language/regionandlangsettingsbase.kcfg plasma-workspace-6.3.5/kcms/region_language/regionandlangsettingsbase.kcfg
--- plasma-workspace-6.3.4/kcms/region_language/regionandlangsettingsbase.kcfg	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/kcms/region_language/regionandlangsettingsbase.kcfg	2025-06-14 23:27:20.000000000 +0200
@@ -9,10 +9,6 @@
   <kcfgfile name="plasma-localerc" />
   <group name="Formats">
     <entry key="LANG" name="lang" type="String">
-        <code>
-            QString lang = QString::fromLocal8Bit(qgetenv("LANG"));
-        </code>
-        <default code="true">lang</default>
     </entry>
     <entry key="LC_NUMERIC" name="numeric" type="String">
         <default code="true">i18n("Inherit Language")</default>
diff -ur '--exclude=po' plasma-workspace-6.3.4/kcms/region_language/regionandlangsettings.cpp plasma-workspace-6.3.5/kcms/region_language/regionandlangsettings.cpp
--- plasma-workspace-6.3.4/kcms/region_language/regionandlangsettings.cpp	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/kcms/region_language/regionandlangsettings.cpp	2025-06-14 23:27:20.000000000 +0200
@@ -9,11 +9,19 @@
 
 using KCM_RegionAndLang::SettingType;
 
+RegionAndLangSettings::RegionAndLangSettings(QObject *parent)
+    : RegionAndLangSettingsBase(parent)
+{
+    connect(this, &RegionAndLangSettings::langChanged, this, [this] {
+        this->setLC_Vars(this->lang());
+    });
+}
+
 bool RegionAndLangSettings::isDefaultSetting(SettingType setting) const
 {
     switch (setting) {
     case SettingType::Lang:
-        return lang() == defaultLangValue();
+        return lang().isEmpty();
     case SettingType::Language:
         return language() == defaultLanguageValue();
     case SettingType::Numeric:
@@ -43,14 +51,14 @@
 QString RegionAndLangSettings::langWithFallback() const
 {
     QString lang = RegionAndLangSettings::lang();
-    if (!(isDefaultSetting(SettingType::Lang) && lang.isEmpty())) {
-        if (QString envLang = qEnvironmentVariable("LANG"); !envLang.isEmpty()) {
-            envLang.replace(QStringLiteral("utf8"), QStringLiteral("UTF-8"));
-            return envLang;
-        }
-        return QLocale::system().name();
+    if (!lang.isEmpty()) {
+        return lang;
+    }
+    if (QString envLang = qEnvironmentVariable("LANG"); !envLang.isEmpty()) {
+        envLang.replace(QStringLiteral("utf8"), QStringLiteral("UTF-8"));
+        return envLang;
     }
-    return lang;
+    return QLocale::system().name();
 }
 
 QString RegionAndLangSettings::LC_LocaleWithLang(SettingType setting) const
diff -ur '--exclude=po' plasma-workspace-6.3.4/kcms/region_language/regionandlangsettings.h plasma-workspace-6.3.5/kcms/region_language/regionandlangsettings.h
--- plasma-workspace-6.3.4/kcms/region_language/regionandlangsettings.h	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/kcms/region_language/regionandlangsettings.h	2025-06-14 23:27:20.000000000 +0200
@@ -14,7 +14,7 @@
 {
     Q_OBJECT
 public:
-    using RegionAndLangSettingsBase::RegionAndLangSettingsBase;
+    RegionAndLangSettings(QObject *parent = nullptr);
     bool isDefaultSetting(KCM_RegionAndLang::SettingType setting) const;
     QString langWithFallback() const;
     QString LC_LocaleWithLang(KCM_RegionAndLang::SettingType setting) const;
diff -ur '--exclude=po' plasma-workspace-6.3.4/kcms/users/src/CMakeLists.txt plasma-workspace-6.3.5/kcms/users/src/CMakeLists.txt
--- plasma-workspace-6.3.4/kcms/users/src/CMakeLists.txt	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/kcms/users/src/CMakeLists.txt	2025-06-14 23:27:20.000000000 +0200
@@ -69,6 +69,7 @@
     KF6::I18n
     KF6::KCMUtilsQuick
     KF6::Wallet
+    PW::KWorkspace
     Qt::DBus
     crypt
 )
diff -ur '--exclude=po' plasma-workspace-6.3.4/kcms/users/src/ui/main.qml plasma-workspace-6.3.5/kcms/users/src/ui/main.qml
--- plasma-workspace-6.3.4/kcms/users/src/ui/main.qml	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/kcms/users/src/ui/main.qml	2025-06-14 23:27:20.000000000 +0200
@@ -71,7 +71,7 @@
             kcm.columnWidth = Kirigami.Units.gridUnit * 15
 
             // Push users page on desktop for two pane layout
-            kcm.push("UserDetailsPage.qml", { user: kcm.userModel.getLoggedInUser() })
+            kcm.push("UserDetailsPage.qml", { user: kcm.userModel.getCurrentUser() })
         }
     }
 
diff -ur '--exclude=po' plasma-workspace-6.3.4/kcms/users/src/ui/UserDetailsPage.qml plasma-workspace-6.3.5/kcms/users/src/ui/UserDetailsPage.qml
--- plasma-workspace-6.3.4/kcms/users/src/ui/UserDetailsPage.qml	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/kcms/users/src/ui/UserDetailsPage.qml	2025-06-14 23:27:20.000000000 +0200
@@ -36,8 +36,8 @@
     Connections {
         target: user
         function onPasswordSuccessfullyChanged() {
-            // Prompt to change the wallet password of the logged-in user
-            if (usersDetailPage.user.loggedIn && usersDetailPage.user.usesDefaultWallet()) {
+            // Prompt to change the wallet password of the current user
+            if (usersDetailPage.user.isCurrentUser && usersDetailPage.user.usesDefaultWallet()) {
                 changeWalletPassword.open()
             }
         }
@@ -81,6 +81,15 @@
         return pending
     }
 
+    function deleteUser(uid: int, deleteUserFiles: bool) {
+        if (usersDetailPage.user.loggedIn) {
+            deleteLoggedInUserWarningDialog.askedToDeleteUserFilesWhenImpossible = deleteUserFiles
+            deleteLoggedInUserWarningDialog.open()
+        } else {
+            kcm.mainUi.deleteUser(usersDetailPage.user.uid, deleteUserFiles)
+        }
+    }
+
     Component.onCompleted: {
         kcm.needsSave = Qt.binding(resolvePending)
     }
@@ -93,6 +102,31 @@
         position: Kirigami.InlineMessage.Position.Header
     }
 
+    Kirigami.PromptDialog {
+        id: deleteLoggedInUserWarningDialog
+
+        property bool askedToDeleteUserFilesWhenImpossible: false
+
+        parent: usersDetailPage.QQC2.Overlay.overlay
+        maximumWidth: Kirigami.Units.gridUnit * 30
+
+        title: askedToDeleteUserFilesWhenImpossible
+            ? i18nc("@title:window", "Delete Logged-In User Without Deleting Files?")
+            : i18nc("@title:window", "Delete Logged-In User?")
+        subtitle: askedToDeleteUserFilesWhenImpossible
+            ? xi18nc("@info:usagetip", "%1 is currently logged in, so their files cannot be deleted. Delete just the account instead?<nl/><nl/>This will make %1 unable to log in again, and they may experience strange behaviors until they log out.", usersDetailPage.user.displayPrimaryName)
+            : i18nc("@info:usagetip", "%1 is currently logged in. Deleting the account will make them unable to log in again, and they may experience strange behaviors until they log out.", usersDetailPage.user.displayPrimaryName)
+        dialogType: Kirigami.PromptDialog.Warning
+        standardButtons: Kirigami.Dialog.Ok | Kirigami.Dialog.Cancel
+
+        onAccepted: kcm.mainUi.deleteUser(usersDetailPage.user.uid, false)
+
+        Component.onCompleted: {
+            standardButton(Kirigami.Dialog.Ok).text = i18nc("@action: button", "Delete %1", usersDetailPage.user.realName)
+            standardButton(Kirigami.Dialog.Ok).icon.name = "edit-delete"
+        }
+    }
+
     ColumnLayout {
         KirigamiComponents.AvatarButton {
             readonly property int size: 6 * Kirigami.Units.gridUnit
@@ -193,7 +227,7 @@
             QQC2.Button {
                 id: deleteUser
 
-                enabled: !usersDetailPage.user.loggedIn && (!kcm.userModel.rowCount() < 2)
+                enabled: !usersDetailPage.user.isCurrentUser
 
                 KeyNavigation.down: fingerprintButton
 
@@ -204,14 +238,14 @@
                         text: i18n("Delete files")
                         icon.name: "edit-delete-shred"
                         onClicked: {
-                            kcm.mainUi.deleteUser(usersDetailPage.user.uid, true)
+                            usersDetailPage.deleteUser(usersDetailPage.user.uid, true);
                         }
                     }
                     QQC2.MenuItem {
                         text: i18n("Keep files")
                         icon.name: "document-multiple"
                         onClicked: {
-                            kcm.mainUi.deleteUser(usersDetailPage.user.uid, false)
+                            usersDetailPage.deleteUser(usersDetailPage.user.uid, false);
                         }
                     }
                 }
@@ -236,7 +270,7 @@
                 if (kcm.fingerprintModel.currentlyEnrolling) {
                     kcm.fingerprintModel.stopEnrolling();
                 }
-                kcm.fingerprintModel.switchUser(user.name == kcm.userModel.getLoggedInUser().name ? "" : user.name);
+                kcm.fingerprintModel.switchUser(user.name == kcm.userModel.getCurrentUser().name ? "" : user.name);
 
                 if (fingerprintButton.dialog === null) {
                     const component = Qt.createComponent("FingerprintDialog.qml");
diff -ur '--exclude=po' plasma-workspace-6.3.4/kcms/users/src/user.cpp plasma-workspace-6.3.5/kcms/users/src/user.cpp
--- plasma-workspace-6.3.4/kcms/users/src/user.cpp	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/kcms/users/src/user.cpp	2025-06-14 23:27:20.000000000 +0200
@@ -15,6 +15,7 @@
 #include <QImage>
 #include <QImageWriter>
 #include <config-workspace.h>
+#include <kdisplaymanager.h>
 #include <sys/types.h>
 #include <unistd.h>
 
@@ -211,12 +212,24 @@
         userDataChanged = true;
         Q_EMIT administratorChanged();
     }
-    const auto loggedIn = (mUid == getuid());
-    if (mLoggedIn != loggedIn) {
-        mLoggedIn = loggedIn;
-        mOriginalLoggedIn = mLoggedIn;
+
+    mIsCurrentUser = (mUid == getuid());
+
+    mOriginalLoggedIn = mLoggedIn;
+
+    SessList sessions;
+    KDisplayManager displayManager;
+    displayManager.localSessions(sessions);
+    for (auto s : sessions) {
+        if (s.user == mOriginalName)
+            mLoggedIn = true;
+    }
+
+    if (mOriginalLoggedIn != mLoggedIn) {
         userDataChanged = true;
+        Q_EMIT loggedInChanged();
     }
+
     if (userDataChanged) {
         Q_EMIT dataChanged();
     }
@@ -334,6 +347,11 @@
     KWallet::Wallet::changePassword(QStringLiteral("kdewallet"), 1);
 }
 
+bool User::isCurrentUser() const
+{
+    return mIsCurrentUser;
+}
+
 bool User::loggedIn() const
 {
     return mLoggedIn;
diff -ur '--exclude=po' plasma-workspace-6.3.4/kcms/users/src/user.h plasma-workspace-6.3.5/kcms/users/src/user.h
--- plasma-workspace-6.3.4/kcms/users/src/user.h	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/kcms/users/src/user.h	2025-06-14 23:27:20.000000000 +0200
@@ -77,7 +77,9 @@
 
     Q_PROPERTY(bool faceValid READ faceValid NOTIFY faceValidChanged)
 
-    Q_PROPERTY(bool loggedIn READ loggedIn CONSTANT)
+    Q_PROPERTY(bool isCurrentUser READ isCurrentUser CONSTANT)
+
+    Q_PROPERTY(bool loggedIn READ loggedIn NOTIFY loggedInChanged)
 
     Q_PROPERTY(bool administrator READ administrator WRITE setAdministrator NOTIFY administratorChanged)
 
@@ -94,6 +96,7 @@
     QString email() const;
     QUrl face() const;
     bool faceValid() const;
+    bool isCurrentUser() const;
     bool loggedIn() const;
     bool administrator() const;
     QDBusObjectPath path() const;
@@ -122,6 +125,7 @@
     void realNameChanged();
     void displayNamesChanged();
     void emailChanged();
+    void loggedInChanged();
     void faceChanged();
     void faceValidChanged();
     void administratorChanged();
@@ -145,6 +149,7 @@
     bool mOriginalAdministrator = false;
     bool mFaceValid = false;
     bool mOriginalFaceValid = false;
+    bool mIsCurrentUser = false;
     bool mLoggedIn = false;
     bool mOriginalLoggedIn = false;
     QDBusObjectPath mPath;
diff -ur '--exclude=po' plasma-workspace-6.3.4/kcms/users/src/usermodel.cpp plasma-workspace-6.3.5/kcms/users/src/usermodel.cpp
--- plasma-workspace-6.3.4/kcms/users/src/usermodel.cpp	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/kcms/users/src/usermodel.cpp	2025-06-14 23:27:20.000000000 +0200
@@ -82,8 +82,8 @@
         m_userList.append(user);
     }
 
-    std::ranges::sort(m_userList, [](User *lhs, User *) {
-        return lhs->loggedIn();
+    std::ranges::stable_partition(m_userList, [](User *u) {
+        return u->isCurrentUser();
     });
 
     connect(this, &QAbstractItemModel::rowsInserted, this, &UserModel::moreThanOneAdminUserChanged);
@@ -103,6 +103,7 @@
     names.insert(AdministratorRole, QByteArrayLiteral("administrator"));
     names.insert(UserRole, QByteArrayLiteral("userObject"));
     names.insert(FaceValidRole, QByteArrayLiteral("faceValid"));
+    names.insert(IsCurrentUserRole, QByteArrayLiteral("isCurrentUser"));
     names.insert(LoggedInRole, QByteArrayLiteral("loggedIn"));
     names.insert(SectionHeaderRole, QByteArrayLiteral("sectionHeader"));
     return names;
@@ -110,10 +111,10 @@
 
 UserModel::~UserModel() = default;
 
-User *UserModel::getLoggedInUser() const
+User *UserModel::getCurrentUser() const
 {
     for (const auto user : std::as_const(m_userList)) {
-        if (user->loggedIn()) {
+        if (user->isCurrentUser()) {
             return user;
         }
     }
@@ -161,10 +162,12 @@
         return QFile::exists(user->face().path());
     case UserRole:
         return QVariant::fromValue(user);
+    case IsCurrentUserRole:
+        return user->isCurrentUser();
     case LoggedInRole:
         return user->loggedIn();
     case SectionHeaderRole:
-        return user->loggedIn() ? i18n("Your Account") : i18n("Other Accounts");
+        return user->isCurrentUser() ? i18n("Your Account") : i18n("Other Accounts");
     }
 
     return QVariant();
diff -ur '--exclude=po' plasma-workspace-6.3.4/kcms/users/src/usermodel.h plasma-workspace-6.3.5/kcms/users/src/usermodel.h
--- plasma-workspace-6.3.4/kcms/users/src/usermodel.h	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/kcms/users/src/usermodel.h	2025-06-14 23:27:20.000000000 +0200
@@ -29,6 +29,7 @@
         FaceValidRole,
         AdministratorRole,
         UserRole,
+        IsCurrentUserRole,
         LoggedInRole,
         SectionHeaderRole,
     };
@@ -42,7 +43,7 @@
     QVariant data(const QModelIndex &index, int role) const override;
     int rowCount(const QModelIndex &parent = QModelIndex()) const override;
 
-    Q_INVOKABLE User *getLoggedInUser() const;
+    Q_INVOKABLE User *getCurrentUser() const;
 
     QHash<int, QByteArray> roleNames() const override;
 
diff -ur '--exclude=po' plasma-workspace-6.3.4/klipper/editactiondialog.cpp plasma-workspace-6.3.5/klipper/editactiondialog.cpp
--- plasma-workspace-6.3.4/klipper/editactiondialog.cpp	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/klipper/editactiondialog.cpp	2025-06-14 23:27:20.000000000 +0200
@@ -181,6 +181,7 @@
     : QDialog(parent)
 {
     setWindowTitle(i18n("Action Properties"));
+    setWindowModality(Qt::WindowModal);
     QDialogButtonBox *buttons = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel, this);
     buttons->button(QDialogButtonBox::Ok)->setShortcut(Qt::CTRL | Qt::Key_Return);
     connect(buttons, &QDialogButtonBox::accepted, this, &EditActionDialog::slotAccepted);
diff -ur '--exclude=po' plasma-workspace-6.3.4/libkmpris/mpris2sourcemodel.cpp plasma-workspace-6.3.5/libkmpris/mpris2sourcemodel.cpp
--- plasma-workspace-6.3.4/libkmpris/mpris2sourcemodel.cpp	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/libkmpris/mpris2sourcemodel.cpp	2025-06-14 23:27:20.000000000 +0200
@@ -98,6 +98,8 @@
         return container->instancePid();
     case KDEPidRole:
         return container->kdePid();
+    case IsMultiplexerRole:
+        return false;
     case ContainerRole:
         return QVariant::fromValue(container);
     default:
@@ -193,6 +195,7 @@
         {IdentityRole, QByteArrayLiteral("identity")},
         {IconNameRole, QByteArrayLiteral("iconName")},
         {KDEPidRole, QByteArrayLiteral("kdePid")},
+        {IsMultiplexerRole, QByteArrayLiteral("isMultiplexer")},
         {ContainerRole, QByteArrayLiteral("container")},
     };
 }
diff -ur '--exclude=po' plasma-workspace-6.3.4/libkmpris/mpris2sourcemodel.h plasma-workspace-6.3.5/libkmpris/mpris2sourcemodel.h
--- plasma-workspace-6.3.4/libkmpris/mpris2sourcemodel.h	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/libkmpris/mpris2sourcemodel.h	2025-06-14 23:27:20.000000000 +0200
@@ -55,6 +55,7 @@
         IconNameRole,
         InstancePidRole,
         KDEPidRole,
+        IsMultiplexerRole,
     };
     Q_ENUM(Role)
 
diff -ur '--exclude=po' plasma-workspace-6.3.4/libkmpris/multiplexermodel.cpp plasma-workspace-6.3.5/libkmpris/multiplexermodel.cpp
--- plasma-workspace-6.3.4/libkmpris/multiplexermodel.cpp	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/libkmpris/multiplexermodel.cpp	2025-06-14 23:27:20.000000000 +0200
@@ -71,10 +71,10 @@
     }
 
     switch (role) {
-    case Mpris2SourceModel::IdentityRole:
-        return i18nc("@action:button", "Choose player automatically");
     case Mpris2SourceModel::IconNameRole:
         return QStringLiteral("emblem-favorite");
+    case Mpris2SourceModel::IsMultiplexerRole:
+        return true;
     default:
         return Mpris2SourceModel::dataFromPlayer(m_activePlayer, role);
     }
diff -ur '--exclude=po' plasma-workspace-6.3.4/libnotificationmanager/autotests/notifications_test.cpp plasma-workspace-6.3.5/libnotificationmanager/autotests/notifications_test.cpp
--- plasma-workspace-6.3.4/libnotificationmanager/autotests/notifications_test.cpp	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/libnotificationmanager/autotests/notifications_test.cpp	2025-05-06 19:59:32.000000000 +0200
@@ -63,11 +63,14 @@
     //more bad formatted options. To some extent actual output doesn't matter. Garbage in, garbage out.
     //the important thing is that it doesn't contain anything that could be parsed as the remote URL
     QTest::newRow("image remote URL no close") << "This is <img src=\"http://foo.com/boo.png>\" alt=\"cheese\">  and more text" << "This is <img alt=\"cheese\"> and more text</img>";
-    QTest::newRow("image remote URL double open") << "This is <<img src=\"http://foo.com/boo.png>\"  and more text" << "This is ";
+    QTest::newRow("image remote URL double open") << "This is <<img src=\"http://foo.com/boo.png>\"  and more text" << "This is &lt;";
     QTest::newRow("image remote URL no entity close") << "This is <img src=\"http://foo.com/boo.png\";  and more text" << "This is ";
-    QTest::newRow("image remote URL space in element name") << "This is < img src=\"http://foo.com/boo.png\"; alt=\"cheese\" /> and more text" << "This is ";
+    QTest::newRow("image remote URL space in element name") << "This is < img src=\"http://foo.com/boo.png\"; alt=\"cheese\" /> and more text" << "This is &lt; img src=&quot;http://foo.com/boo.png&quot; alt=&quot;cheese&quot; /&gt; and more text";
 
     QTest::newRow("link") << "This is a link <a href=\"http://foo.com/boo\"/> and more text" << "This is a link <a href=\"http://foo.com/boo\"/> and more text";
+
+    QTest::newRow("text with lessThan symbol inside of it") << "i <3 KDE" << "i &lt;3 KDE";
+    QTest::newRow("text with url and less than and greater than symbol") << "<a href=\"http://foo.com/boo\";>kde</a> <3>" << "<a href=\"http://foo.com/boo\";>kde</a> &lt;3&gt;";
     // clang-format on
 }
 
diff -ur '--exclude=po' plasma-workspace-6.3.4/libnotificationmanager/libnotificationmanager.notifyrc plasma-workspace-6.3.5/libnotificationmanager/libnotificationmanager.notifyrc
--- plasma-workspace-6.3.4/libnotificationmanager/libnotificationmanager.notifyrc	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/libnotificationmanager/libnotificationmanager.notifyrc	2025-05-06 19:59:32.000000000 +0200
@@ -20,6 +20,7 @@
 Name[it]=Gestore delle notifiche
 Name[ja]=通知メッセージ
 Name[ka]=გაფრთხილებების მმართველი
+Name[ko]=알림 관리자
 Name[lt]=Pranešimų tvarkytuvė
 Name[nb]=Varslingsbehandler
 Name[nl]=Beheerder van meldingen
@@ -57,6 +58,7 @@
 Name[it]=Riepilogo per le notifiche inibite non lette
 Name[ja]=未読の妨げられた通知の要約
 Name[ka]=შეჯამება წაუკითხავი დადუმებული გაფრთხილებებისთვის
+Name[ko]=읽지 않은 차단된 알림 요약
 Name[lt]=Neskaitytų užslopintų pranešimų santrauka
 Name[nb]=Sammendrag over uleste hindrede varsler
 Name[nl]=Samenvatting van ongelezen onderdrukte meldingen
diff -ur '--exclude=po' plasma-workspace-6.3.4/libnotificationmanager/notification.cpp plasma-workspace-6.3.5/libnotificationmanager/notification.cpp
--- plasma-workspace-6.3.4/libnotificationmanager/notification.cpp	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/libnotificationmanager/notification.cpp	2025-05-06 19:59:32.000000000 +0200
@@ -57,6 +57,15 @@
     static const QRegularExpression escapeExpr(QStringLiteral("&(?!(?:apos|quot|[gl]t|amp);|#)"));
     t.replace(escapeExpr, QLatin1String("&amp;"));
 
+    // If the < or > is not followed or preceded by text or "/", escape it.
+    // This nightmarish RegExp matches the < or >, then captures whatever is after/before it.
+    // We then replace the match with the corresponding symbol, and add the captured bit back.
+    static const QRegularExpression ltExpr(QStringLiteral("<([^\\/,a-zA-Z])"));
+    t.replace(ltExpr, QLatin1String("&lt;\\1"));
+    // Check for " in case the item is something like <img src="bla">
+    static const QRegularExpression gtExpr(QStringLiteral("([^\\/,a-zA-Z,\"])>"));
+    t.replace(gtExpr, QLatin1String("\\1&gt;"));
+
     // Don't bother adding some HTML structure if the body is now empty
     if (t.isEmpty()) {
         return t;
diff -ur '--exclude=po' plasma-workspace-6.3.4/libnotificationmanager/notificationfilterproxymodel.cpp plasma-workspace-6.3.5/libnotificationmanager/notificationfilterproxymodel.cpp
--- plasma-workspace-6.3.4/libnotificationmanager/notificationfilterproxymodel.cpp	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/libnotificationmanager/notificationfilterproxymodel.cpp	2025-06-14 23:27:20.000000000 +0200
@@ -191,8 +191,12 @@
         }
     }
 
-    if (!m_showAddedDuringInhibition && sourceIdx.data(Notifications::WasAddedDuringInhibitionRole).toBool()) {
-        return false;
+    // Normal Do Not Disturb filtering
+    if (!m_showAddedDuringInhibition) {
+        // Show critical notifications even in Do Not Disturb
+        if (!m_urgencies.testFlag(urgency) && sourceIdx.data(Notifications::WasAddedDuringInhibitionRole).toBool()) {
+            return false;
+        }
     }
 
     return true;
diff -ur '--exclude=po' plasma-workspace-6.3.4/lookandfeel/org.kde.breeze/contents/osd/Osd.qml plasma-workspace-6.3.5/lookandfeel/org.kde.breeze/contents/osd/Osd.qml
--- plasma-workspace-6.3.4/lookandfeel/org.kde.breeze/contents/osd/Osd.qml	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/lookandfeel/org.kde.breeze/contents/osd/Osd.qml	2025-06-14 23:27:20.000000000 +0200
@@ -12,6 +12,9 @@
     type: PlasmaCore.Dialog.OnScreenDisplay
     outputOnly: true
 
+    LayoutMirroring.enabled: Qt.application.layoutDirection === Qt.RightToLeft
+    LayoutMirroring.childrenInherit: true
+
     property alias timeout: osd.timeout
     property alias osdValue: osd.osdValue
     property alias osdMaxValue: osd.osdMaxValue
diff -ur '--exclude=po' plasma-workspace-6.3.4/runners/appstream/plasma-runner-appstream.json plasma-workspace-6.3.5/runners/appstream/plasma-runner-appstream.json
--- plasma-workspace-6.3.4/runners/appstream/plasma-runner-appstream.json	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/runners/appstream/plasma-runner-appstream.json	2025-05-06 19:59:33.000000000 +0200
@@ -22,7 +22,7 @@
                 "Name[eu]": "Aleix Pol Gonzalez",
                 "Name[fi]": "Aleix Pol Gonzalez",
                 "Name[fr]": "Aleix Pol Gonzalez",
-                "Name[gl]": "Aleix Pol Gonzalez",
+                "Name[gl]": "Aleix Pol i Gonzàlez",
                 "Name[he]": "אלש פול י גונזלז",
                 "Name[hi]": "एलेक्स पोल गोंजालेज",
                 "Name[hu]": "Aleix Pol Gonzalez",
diff -ur '--exclude=po' plasma-workspace-6.3.4/runners/places/plasma-runner-places.json plasma-workspace-6.3.5/runners/places/plasma-runner-places.json
--- plasma-workspace-6.3.4/runners/places/plasma-runner-places.json	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/runners/places/plasma-runner-places.json	2025-05-06 19:59:33.000000000 +0200
@@ -190,6 +190,6 @@
         "Name[wa]": "Plaeces",
         "Name[x-test]": "xxPlacesxx",
         "Name[zh_CN]": "常用位置",
-        "Name[zh_TW]": "地方"
+        "Name[zh_TW]": "書籤"
     }
 }
diff -ur '--exclude=po' plasma-workspace-6.3.4/shell/autotests/screenpooltest.cpp plasma-workspace-6.3.5/shell/autotests/screenpooltest.cpp
--- plasma-workspace-6.3.4/shell/autotests/screenpooltest.cpp	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/shell/autotests/screenpooltest.cpp	2025-05-06 19:59:33.000000000 +0200
@@ -41,6 +41,7 @@
     void testLastScreenRemoval();
     void testFakeToRealScreen();
     void testFakeOutputInitially();
+    void testReorderRemoveRace();
 
 private:
     ScreenPool *m_screenPool;
@@ -459,6 +460,65 @@
     QCOMPARE(screenPool.idForScreen(newScreen), 0);
 }
 
+void ScreenPoolTest::testReorderRemoveRace()
+{
+    QSignalSpy addedSpy(qGuiApp, SIGNAL(screenAdded(QScreen *)));
+    QSignalSpy orderChangeSpy(m_screenPool, &ScreenPool::screenOrderChanged);
+    QSignalSpy firstScreenResizedSpy(qGuiApp->screens()[0], &QScreen::geometryChanged);
+
+    // Add a new output
+    exec([this] {
+        OutputData data;
+        data.mode.resolution = {1920, 1080};
+        data.position = {1920, 0};
+        data.physicalSize = data.mode.physicalSizeForDpi(96);
+        // NOTE: assumes that when a screen is added it will already have the final geometry
+        auto *out = add<Output>(data);
+        auto *xdgOut = xdgOutput(out);
+        xdgOut->m_name = QStringLiteral("WL-2");
+        outputOrder()->setList({u"WL-1"_s, u"WL-2"_s});
+    });
+
+    QVERIFY(orderChangeSpy.wait());
+
+    QCOMPARE(orderChangeSpy.size(), 1);
+    QCOMPARE(QGuiApplication::screens().size(), 2);
+    QCOMPARE(m_screenPool->screenOrder().size(), 2);
+    QCOMPARE(addedSpy.size(), 1);
+
+    QScreen *newScreen = addedSpy.takeFirst().at(0).value<QScreen *>();
+    QCOMPARE(newScreen->name(), QStringLiteral("WL-2"));
+    QCOMPARE(newScreen->geometry(), QRect(1920, 0, 1920, 1080));
+    // Check mapping
+    QCOMPARE(m_screenPool->idForScreen(newScreen), 1);
+    QCOMPARE(m_screenPool->screenForId(1)->name(), QStringLiteral("WL-2"));
+
+    exec([this] {
+        // BUG 494616:
+        // When there are those 3 things happening in quick order
+        // * Setting the order
+        // * resizing an output
+        // * removing another output
+        // we used to get an inconsistent state in OutputOrderWatcher
+        // where the removed output is *not* removed from outputOrder
+        outputOrder()->setList({u"WL-2"_s, u"WL-1"_s});
+        auto *out = output(0);
+        auto *xdgOut = xdgOutput(output(0));
+        xdgOut->sendLogicalSize(QSize(1024, 600));
+        remove(output(1));
+        out->m_data.physicalSize = QSize(1024, 600);
+        out->sendGeometry();
+        out->sendDone();
+    });
+
+    QVERIFY(orderChangeSpy.wait());
+    QTRY_COMPARE(firstScreenResizedSpy.size(), 1);
+    QCOMPARE(m_screenPool->screenOrder().size(), 1);
+    QCOMPARE(m_screenPool->screenOrder().first()->name(), QStringLiteral("WL-1"));
+    QCOMPARE(qApp->screens().size(), 1);
+    QCOMPARE(qApp->screens().first()->geometry(), QRect(0, 0, 1024, 600));
+}
+
 QCOMPOSITOR_TEST_MAIN(ScreenPoolTest)
 
 #include "screenpooltest.moc"
diff -ur '--exclude=po' plasma-workspace-6.3.4/shell/screenpool.cpp plasma-workspace-6.3.5/shell/screenpool.cpp
--- plasma-workspace-6.3.4/shell/screenpool.cpp	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/shell/screenpool.cpp	2025-05-06 19:59:33.000000000 +0200
@@ -282,6 +282,7 @@
 void ScreenPool::handleOutputOrderChanged(const QStringList &newOrder)
 {
     qCDebug(SCREENPOOL) << "handleOutputOrderChanged" << newOrder;
+
     QHash<QString, QScreen *> connMap;
     for (auto s : qApp->screens()) {
         connMap[s->name()] = s;
@@ -369,7 +370,10 @@
     // QScreen bookeeping integrity
     auto allScreens = qGuiApp->screens();
     // Do we actually track every screen?
-    Q_ASSERT_X((m_availableScreens.count() + m_redundantScreens.count()) == m_outputOrderWatcher->outputOrder().count(),
+    // (m_availableScreens.count() + m_redundantScreens.count() must be less or equal
+    // to the number of screens tracked by OutputOrderWatcher, because it can contain
+    // for a little while a screen that has just been removed
+    Q_ASSERT_X((m_availableScreens.count() + m_redundantScreens.count()) <= m_outputOrderWatcher->outputOrder().count(),
                Q_FUNC_INFO,
                qUtf8Printable(debugMessage())); // https://crash-reports.kde.org/organizations/kde/issues/5249/
     Q_ASSERT_X(allScreens.count() == m_sizeSortedScreens.count(),
diff -ur '--exclude=po' plasma-workspace-6.3.4/wallpapers/image/imagepackage/contents/ui/config.qml plasma-workspace-6.3.5/wallpapers/image/imagepackage/contents/ui/config.qml
--- plasma-workspace-6.3.4/wallpapers/image/imagepackage/contents/ui/config.qml	2025-04-02 05:38:24.000000000 +0200
+++ plasma-workspace-6.3.5/wallpapers/image/imagepackage/contents/ui/config.qml	2025-06-14 23:27:20.000000000 +0200
@@ -25,8 +25,7 @@
     property var configDialog
     property var wallpaperConfiguration: wallpaper.configuration
     property var parentLayout
-    property var screen : Screen
-    property var screenSize: !!screen.geometry ? Qt.size(screen.geometry.width, screen.geometry.height):  Qt.size(screen.width, screen.height)
+    property var screenSize: Qt.size(Screen.width, Screen.height)
     
     property alias cfg_Color: colorButton.color
     property color cfg_ColorDefault
@@ -53,9 +52,9 @@
      */
     signal wallpaperBrowseCompleted();
     
-    onScreenChanged: function() {
+    onScreenSizeChanged: function() {
         if (thumbnailsLoader.item) {
-            thumbnailsLoader.item.screenSize = !!root.screen.geometry ? Qt.size(root.screen.geometry.width, root.screen.geometry.height):  Qt.size(root.screen.width, root.screen.height);
+            thumbnailsLoader.item.screenSize = root.screenSize;
         }
     }
     
@@ -77,7 +76,7 @@
         renderingMode: (configDialog.currentWallpaper === "org.kde.image") ? PlasmaWallpaper.ImageBackend.SingleImage : PlasmaWallpaper.ImageBackend.SlideShow
         targetSize: {
             // Lock screen configuration case
-            return Qt.size(root.screenSize.width * root.screen.devicePixelRatio, root.screenSize.height * root.screen.devicePixelRatio)
+            return Qt.size(root.screenSize.width * Screen.devicePixelRatio, root.screenSize.height * Screen.devicePixelRatio)
         }
         onSlidePathsChanged: cfg_SlidePaths = slidePaths
         onUncheckedSlidesChanged: cfg_UncheckedSlides = uncheckedSlides

Reply to: