summaryrefslogtreecommitdiff
path: root/kde-plasma/plasma-workspace
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2021-05-11 19:55:43 +0100
committerV3n3RiX <venerix@redcorelinux.org>2021-05-11 19:55:43 +0100
commit185fa19bbf68a4d4dca534d2b46729207a177f16 (patch)
treea8a537b82fda83a0799c2ca9887f212558363aa7 /kde-plasma/plasma-workspace
parentc8fd0d84af0bfd1949542adc2cbb735b1d28f9ed (diff)
gentoo resync : 11.05.2021
Diffstat (limited to 'kde-plasma/plasma-workspace')
-rw-r--r--kde-plasma/plasma-workspace/Manifest10
-rw-r--r--kde-plasma/plasma-workspace/files/plasma-workspace-5.21.5-dangerous-shortcuts.patch45
-rw-r--r--kde-plasma/plasma-workspace/files/plasma-workspace-5.21.5-revert-activate-krunner.patch56
-rw-r--r--kde-plasma/plasma-workspace/files/plasma-workspace-5.21.5-transparency-panelConfig.patch27
-rw-r--r--kde-plasma/plasma-workspace/files/plasma-workspace-5.21.5-transparency.patch376
-rw-r--r--kde-plasma/plasma-workspace/metadata.xml1
-rw-r--r--kde-plasma/plasma-workspace/plasma-workspace-5.21.5.ebuild (renamed from kde-plasma/plasma-workspace/plasma-workspace-5.21.4.ebuild)27
7 files changed, 531 insertions, 11 deletions
diff --git a/kde-plasma/plasma-workspace/Manifest b/kde-plasma/plasma-workspace/Manifest
index ac4a2dfac293..9d96854ff31f 100644
--- a/kde-plasma/plasma-workspace/Manifest
+++ b/kde-plasma/plasma-workspace/Manifest
@@ -7,8 +7,12 @@ AUX plasma-workspace-5.20.5-fix-digitalclock-agenda-view.patch 1493 BLAKE2B 2b81
AUX plasma-workspace-5.20.5-fix-wake-screensaver-mode-w-keypress.patch 2671 BLAKE2B 9dde17739f7c3bef298d0ec7b1d21a5a321e85356a8591d82f82c213e8adcf4cce807d45b79821d113068de7647f460d6439ec849fdc7e9ca8b71953f0193cdb SHA512 60b008f84049b59b41ed11cb7a2c0699767381b0a41303b23c2a41c6ae1cfb20f36778dc4055bd54821d323287f18bb9ca62fd1e144df99f81da40f93958412a
AUX plasma-workspace-5.20.5-revert-activate-krunner.patch 2362 BLAKE2B 0f2d2220fe54b508899ae0f70ee8d266282418bf7e54be5b9c051f45dd540905dce55563f182d2ff7ecfe36c50f617b53368cb404e61e22843bb6a1cc263b04e SHA512 f027ff3c2fc200af8d26cb9307e0fa932f0c0a56cdb99740a8c84dd9eb41542ec661b54f18944cdf3856292f54184d351cdde126da82ac649ca4d95955c72452
AUX plasma-workspace-5.20.5-wayland-fix-XKB-variable-setup.patch 1475 BLAKE2B 79b9ca4dff4f88c2343e294c9243a2221f20d14ebbda8dca87b371143eee618b7f9118ec1435c6168cc1be81a129ab9b6d21615c08f777355b0cdd6978b9847e SHA512 0a0c87db98be7fed51d0b193f683a60fe6119f7f47e82966bc01cc5c5afe6f74d7f3edd8939e709f2f72363741a5cbd7f464890fbe0bb88d25c4f5b235d3dfb2
+AUX plasma-workspace-5.21.5-dangerous-shortcuts.patch 2114 BLAKE2B 88cb2dc9bb202aa44ec75eb69ff806a2b48cf23d2aecf1db89b747269aa1f4689b6577cee5ef14399bd91839db366e2aae155e2bce2b6e8683aaacb63b267cc9 SHA512 42a3954e7d6a1c78e9f59a073be4dd671e1cce51b72d9ebb415d1e5bce1136c3a5fcbb8fc723ef7c82fd7a8ddda18a12935a375e7abd12d771a5911f3cc8e8c4
+AUX plasma-workspace-5.21.5-revert-activate-krunner.patch 2369 BLAKE2B e3b8b1ae433a8e212ac65dd7a20cc56ac190200afdad33bc0f24243d1bbbb5a7db40025f6fea033d3e7a9ca71f77650962af39c8c624d07cbc1a3fb1c939faf9 SHA512 2235fdd5624fa3a8d4727cf553801e35b074e22d1db78ccdf12b2e40448e8d3ef85c20e74936359cd84155a288a4fe1df1142370a61790325ce93c5163b78c60
+AUX plasma-workspace-5.21.5-transparency-panelConfig.patch 1174 BLAKE2B fa68999f0c9f4bed18d2b00b3129c271a3d63359f618b05eebb1cbb0dc759b8daec6019069ac64adfe10fb76acd833bd3fbdbf48b83d5859d4dbdacea37a4dd8 SHA512 19878656585d8ae980b9d3350506cbcb2f5841535bf042e66a6fbb2873680207730d7f6a06065aa94268264c4d252c02d434fa6f96358906ea7c01c16188f172
+AUX plasma-workspace-5.21.5-transparency.patch 14371 BLAKE2B 6ce2619103bbff528c31b89d1aec8064e79768b66513c9b5a66d4d994f3824e733473755f3b866729c7a0a92a43209dfd641e864ee66dd69875364a93d5d69cd SHA512 cf0a6140a3905ed58f3fec0ada1f8dad4faa59f2b12e3084f26832b4e93db0c5e9a0fd86667c40ba9ddc7bb5108c3ab7e5c7a39db274e2cb46f3605707b2ae7b
DIST plasma-workspace-5.20.5.tar.xz 9041964 BLAKE2B b0bef6f74999d503064d55fdc670bd320a141c4619c0cfb7491158485096dfd636ad31dfbb4e9d7be3d86eca7b52bce97acb7aefe57377cce9e6a5ce1ad3cb9b SHA512 bd63502fdaa79deb380d254a3649a2810e4b2c6e748e9a38606f561cc46573a6e75631584a340a220742135f4682f9deea28c78b7fe4ad88ee6491f190b3212f
-DIST plasma-workspace-5.21.4.tar.xz 9714792 BLAKE2B 8ada47faf866c9ef2fd16a7925e393dbfcb15fa54e693b290ee61443846b1e11e110969408821b98edba570ced1168d786ec54e4e33d99221077dd24744aefb1 SHA512 80f4b55ce982c3e2d0761cba1d4f14659b2ef9ce9f6d362c4439c5ee404ea7bc9e458cfbfd7e37f9ff67b53cc02f1aa3c62c7b7ad9fcf57646ad59e9f60b94c5
+DIST plasma-workspace-5.21.5.tar.xz 9724000 BLAKE2B 2688c8aacd4e5584bb2660a287563aa683af4d469aad45f3521d31ec569d403204cceeb167062a9d8dfe591972db3758d5f46c21ca7c30453cd6740f3e3b470a SHA512 6918c1a29e977ac7f3ebf6ac7308f20f20712db96bf10599f3372987509630aa2ca8bc6adf0b1af4e543ccd2a2001e38ce02d759d25f09588c7c1aaa358af1b4
EBUILD plasma-workspace-5.20.5-r4.ebuild 6402 BLAKE2B 9421322f197d94628fad7ea6fda583c2b86ca5858f83989d85003f141a5eb7e7fbe69761f71c653abd3d093ec7eae610e4db5769475c5aedc82da78e2b5cc2fe SHA512 f23ce6fa49a5dc0f8515b76c2a4c9425b4c41891ae4e1e06b211d86a2826df1bfd54bf26496f1bc53f9bac422a81151fe53e510f8c01287e7dfdfe10b1e5b06f
-EBUILD plasma-workspace-5.21.4.ebuild 5986 BLAKE2B 2a862efbf9e65228326184b614e2d7f0b89700777be2a92f447242197d699836d104d9e2b1f46bcea7ba5e9644f9d50df2b40367fb68b74a48ee3238b12cb13e SHA512 91891d16dba6ae51e7d9ad2dd9f4d2e8e7310b132cd1a84d9c2309022343748a17a599aef84ee105a88a76533c3c69b051f6df7819fa9e55153ffb8269754d21
-MISC metadata.xml 723 BLAKE2B 14f4d2f1ec1c0e8d511be9b01aa0f3ad09bc7bb8e6b26a9ad770834d38bf1539443a4e81af7c4237e094f4964ba7203d9dbf4ea3558a07b6df12636e48294d67 SHA512 2bcfe167618c426ac72a47160a6f62d4b9b93624a7926f978b347c64212e80c7a9678221fa0799d303860e84dd9f3f8aa96e6f64a5a67335817dfbf24010eece
+EBUILD plasma-workspace-5.21.5.ebuild 6342 BLAKE2B debd29183c047d08af9aa49239c228351b0dfc3848f9374b0ad7cd663f6c46e9654e9e5ba4a38cbb47aa554aca63116f053f2fb90a92ebb96f011e51efe27135 SHA512 95bde9a0280f849db3ddbd1a079e36ad1804cad5b3ff7dc13f84bf9375c741021a698bd55d448ddafead4bae3bdad42f7acb3956f4ccc7b2eef6a327bcf2f4a8
+MISC metadata.xml 820 BLAKE2B 4b861592915543bb74f501d3b06bb2599d45232a016a7a6d89b62e56624b401ab6852ed471a4ccfbd2ee4a435ad18a3c25eb5df331b6d066378a3217755863de SHA512 c292e4c1476f1222269e26be998648b05c5ce0201193434e4b5b81f2a9d794bdf4a961a203edc77cf4d5b9a967454feb0c9514549170ab6f79218e6ed356cc72
diff --git a/kde-plasma/plasma-workspace/files/plasma-workspace-5.21.5-dangerous-shortcuts.patch b/kde-plasma/plasma-workspace/files/plasma-workspace-5.21.5-dangerous-shortcuts.patch
new file mode 100644
index 000000000000..f04bb866d5d3
--- /dev/null
+++ b/kde-plasma/plasma-workspace/files/plasma-workspace-5.21.5-dangerous-shortcuts.patch
@@ -0,0 +1,45 @@
+From e8e17c5ef8734fa56a78405e32277568e4e1095e Mon Sep 17 00:00:00 2001
+From: Nate Graham <nate@kde.org>
+Date: Thu, 22 Apr 2021 08:38:18 -0600
+Subject: [PATCH] [ksmserver] Remove default shortcuts for "Without
+ Confirmation" actions
+
+These actions bypass the user setting for whether or not to show the
+logout screen and always log out/reboot/etc. immediately. Because they
+have default keyboard shortcuts, they can be triggered by accident and
+cause unexpected logouts/reboots/etc.
+
+BUG: 435954
+FIXED-IN: 5.22
+---
+ ksmserver/server.cpp | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/ksmserver/server.cpp b/ksmserver/server.cpp
+index ac9da9f09..6f3179fb9 100644
+--- a/ksmserver/server.cpp
++++ b/ksmserver/server.cpp
+@@ -880,17 +880,17 @@ void KSMServer::setupShortcuts()
+
+ a = actionCollection->addAction(QStringLiteral("Log Out Without Confirmation"));
+ a->setText(i18n("Log Out Without Confirmation"));
+- KGlobalAccel::self()->setGlobalShortcut(a, QList<QKeySequence>() << Qt::ALT + Qt::CTRL + Qt::SHIFT + Qt::Key_Delete);
++ KGlobalAccel::self()->setGlobalShortcut(a, QKeySequence());
+ connect(a, &QAction::triggered, this, &KSMServer::logoutWithoutConfirmation);
+
+ a = actionCollection->addAction(QStringLiteral("Halt Without Confirmation"));
+ a->setText(i18n("Halt Without Confirmation"));
+- KGlobalAccel::self()->setGlobalShortcut(a, QList<QKeySequence>() << Qt::ALT + Qt::CTRL + Qt::SHIFT + Qt::Key_PageDown);
++ KGlobalAccel::self()->setGlobalShortcut(a, QKeySequence());
+ connect(a, &QAction::triggered, this, &KSMServer::haltWithoutConfirmation);
+
+ a = actionCollection->addAction(QStringLiteral("Reboot Without Confirmation"));
+ a->setText(i18n("Reboot Without Confirmation"));
+- KGlobalAccel::self()->setGlobalShortcut(a, QList<QKeySequence>() << Qt::ALT + Qt::CTRL + Qt::SHIFT + Qt::Key_PageUp);
++ KGlobalAccel::self()->setGlobalShortcut(a, QKeySequence());
+ connect(a, &QAction::triggered, this, &KSMServer::rebootWithoutConfirmation);
+ }
+ }
+--
+GitLab
+
diff --git a/kde-plasma/plasma-workspace/files/plasma-workspace-5.21.5-revert-activate-krunner.patch b/kde-plasma/plasma-workspace/files/plasma-workspace-5.21.5-revert-activate-krunner.patch
new file mode 100644
index 000000000000..c2637286da10
--- /dev/null
+++ b/kde-plasma/plasma-workspace/files/plasma-workspace-5.21.5-revert-activate-krunner.patch
@@ -0,0 +1,56 @@
+From 9bdae154bb3711b0220d0a8a685b2329f487d1f2 Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Mon, 15 Feb 2021 17:35:19 +0100
+Subject: [PATCH] Revert "Activate KRunner instead of running the binary"
+
+Causes applications to be started with cwd "/".
+
+See also: https://bugs.gentoo.org/767478
+
+This reverts commit 0e575a20ef36532b5b40a40ea30f915976942477.
+---
+ krunner/CMakeLists.txt | 3 ++-
+ krunner/{krunner.desktop => krunner.desktop.cmake} | 4 ++--
+ 2 files changed, 4 insertions(+), 3 deletions(-)
+ rename krunner/{krunner.desktop => krunner.desktop.cmake} (94%)
+
+diff --git a/krunner/CMakeLists.txt b/krunner/CMakeLists.txt
+index 07d27c1dc..8e1f2e3bd 100644
+--- a/krunner/CMakeLists.txt
++++ b/krunner/CMakeLists.txt
+@@ -31,7 +31,8 @@ target_compile_definitions(krunner PRIVATE -DPROJECT_VERSION="${PROJECT_VERSION}
+ install(TARGETS krunner ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
+ install(FILES ${krunner_dbusAppXML} DESTINATION ${KDE_INSTALL_DBUSINTERFACEDIR} )
+
+-install(FILES krunner.desktop DESTINATION ${DATA_INSTALL_DIR}/kglobalaccel)
++configure_file(krunner.desktop.cmake ${CMAKE_CURRENT_BINARY_DIR}/krunner.desktop @ONLY)
++install(FILES ${CMAKE_CURRENT_BINARY_DIR}/krunner.desktop DESTINATION ${DATA_INSTALL_DIR}/kglobalaccel)
+
+ set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KRunnerAppDBusInterface")
+ configure_package_config_file(KRunnerAppDBusInterfaceConfig.cmake.in
+diff --git a/krunner/krunner.desktop b/krunner/krunner.desktop.cmake
+similarity index 94%
+rename from krunner/krunner.desktop
+rename to krunner/krunner.desktop.cmake
+index 7a0398696..c4c8c9d92 100644
+--- a/krunner/krunner.desktop
++++ b/krunner/krunner.desktop.cmake
+@@ -1,5 +1,5 @@
+ [Desktop Entry]
+-Exec=dbus-send --type=method_call --dest=org.kde.krunner /App org.kde.krunner.App.toggleDisplay
++Exec=@CMAKE_INSTALL_PREFIX@/bin/krunner
+ Name=KRunner
+ Name[ar]=مشغّل.ك
+ Name[ast]=KRunner
+@@ -60,7 +60,7 @@ Actions=RunClipboard
+ X-KDE-Wayland-Interfaces=org_kde_plasma_window_management
+
+ [Desktop Action RunClipboard]
+-Exec=dbus-send --type=method_call --dest=org.kde.krunner /App org.kde.krunner.App.displayWithClipboardContents
++Exec=krunner -c
+ Name=Run command on clipboard contents
+ Name[az]=Əmri, mübadilə buferindən başlatmaq
+ Name[ca]=Executa una ordre al contingut del porta-retalls
+--
+2.31.1
+
diff --git a/kde-plasma/plasma-workspace/files/plasma-workspace-5.21.5-transparency-panelConfig.patch b/kde-plasma/plasma-workspace/files/plasma-workspace-5.21.5-transparency-panelConfig.patch
new file mode 100644
index 000000000000..fb7993e6db72
--- /dev/null
+++ b/kde-plasma/plasma-workspace/files/plasma-workspace-5.21.5-transparency-panelConfig.patch
@@ -0,0 +1,27 @@
+From 1cf02aad96bfe650a1f4d1465ae15234205fb061 Mon Sep 17 00:00:00 2001
+From: Bharadwaj Raju <bharadwaj.raju777@protonmail.com>
+Date: Mon, 26 Apr 2021 18:47:51 +0000
+Subject: [PATCH] Load panelOpacity from config parent, not from config
+
+BUG: 434285
+FIXED-IN: 5.22
+---
+ shell/panelview.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/shell/panelview.cpp b/shell/panelview.cpp
+index 5ed743024..4533e856f 100644
+--- a/shell/panelview.cpp
++++ b/shell/panelview.cpp
+@@ -633,7 +633,7 @@ void PanelView::restore()
+ // the place for this config key is changed in Plasma 5.9
+ // Do NOT use readConfigValueWithFallBack
+ setVisibilityMode((VisibilityMode)panelConfig.parent().readEntry<int>("panelVisibility", panelConfig.readEntry<int>("panelVisibility", (int)NormalPanel)));
+- setOpacityMode((OpacityMode)readConfigValueWithFallBack("panelOpacity", PanelView::OpacityMode::Adaptive));
++ setOpacityMode((OpacityMode)config().parent().readEntry<int>("panelOpacity", configDefaults().parent().readEntry<int>("panelOpacity", PanelView::OpacityMode::Adaptive)));
+ m_initCompleted = true;
+ resizePanel();
+ positionPanel();
+--
+GitLab
+
diff --git a/kde-plasma/plasma-workspace/files/plasma-workspace-5.21.5-transparency.patch b/kde-plasma/plasma-workspace/files/plasma-workspace-5.21.5-transparency.patch
new file mode 100644
index 000000000000..1a925a137cef
--- /dev/null
+++ b/kde-plasma/plasma-workspace/files/plasma-workspace-5.21.5-transparency.patch
@@ -0,0 +1,376 @@
+From 7db8d5ee551f30576588d31470fe287b6ad2adcd Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Niccol=C3=B2=20Venerandi?= <niccolo@venerandi.com>
+Date: Mon, 1 Mar 2021 22:14:43 +0000
+Subject: [PATCH] Add support for adaptive opacity panels
+
+Co-authored-by: Jan Blackquill <uhhadd@gmail.com>
+---
+ libtaskmanager/taskfilterproxymodel.cpp | 26 ++++++++++++++++++
+ libtaskmanager/taskfilterproxymodel.h | 19 ++++++++++++++
+ libtaskmanager/tasksmodel.cpp | 11 ++++++++
+ libtaskmanager/tasksmodel.h | 19 ++++++++++++++
+ shell/panelconfigview.cpp | 11 ++++++++
+ shell/panelconfigview.h | 5 ++++
+ shell/panelview.cpp | 35 +++++++++++++++++++++++++
+ shell/panelview.h | 28 ++++++++++++++++++++
+ 8 files changed, 154 insertions(+)
+
+diff --git a/libtaskmanager/taskfilterproxymodel.cpp b/libtaskmanager/taskfilterproxymodel.cpp
+index 37a3076fd..6bb27537a 100644
+--- a/libtaskmanager/taskfilterproxymodel.cpp
++++ b/libtaskmanager/taskfilterproxymodel.cpp
+@@ -40,6 +40,7 @@ public:
+ bool filterByScreen = false;
+ bool filterByActivity = false;
+ bool filterNotMinimized = false;
++ bool filterNotMaximized = false;
+ bool filterSkipTaskbar = true;
+ bool filterSkipPager = false;
+
+@@ -185,6 +186,22 @@ void TaskFilterProxyModel::setFilterNotMinimized(bool filter)
+ }
+ }
+
++bool TaskFilterProxyModel::filterNotMaximized() const
++{
++ return d->filterNotMaximized;
++}
++
++void TaskFilterProxyModel::setFilterNotMaximized(bool filter)
++{
++ if (d->filterNotMaximized != filter) {
++ d->filterNotMaximized = filter;
++
++ invalidateFilter();
++
++ emit filterNotMaximizedChanged();
++ }
++}
++
+ bool TaskFilterProxyModel::filterSkipTaskbar() const
+ {
+ return d->filterSkipTaskbar;
+@@ -301,6 +318,15 @@ bool TaskFilterProxyModel::acceptsRow(int sourceRow) const
+ }
+ }
+
++ // Filter not maximized.
++ if (d->filterNotMaximized) {
++ bool isMaximized = sourceIdx.data(AbstractTasksModel::IsMaximized).toBool();
++
++ if (!isMaximized) {
++ return false;
++ }
++ }
++
+ return true;
+ }
+
+diff --git a/libtaskmanager/taskfilterproxymodel.h b/libtaskmanager/taskfilterproxymodel.h
+index 7ad2cb9ce..88ba3adab 100644
+--- a/libtaskmanager/taskfilterproxymodel.h
++++ b/libtaskmanager/taskfilterproxymodel.h
+@@ -52,6 +52,7 @@ class TASKMANAGER_EXPORT TaskFilterProxyModel : public QSortFilterProxyModel, pu
+ Q_PROPERTY(bool filterByScreen READ filterByScreen WRITE setFilterByScreen NOTIFY filterByScreenChanged)
+ Q_PROPERTY(bool filterByActivity READ filterByActivity WRITE setFilterByActivity NOTIFY filterByActivityChanged)
+ Q_PROPERTY(bool filterNotMinimized READ filterNotMinimized WRITE setFilterNotMinimized NOTIFY filterNotMinimizedChanged)
++ Q_PROPERTY(bool filterNotMaximized READ filterNotMaximized WRITE setFilterNotMaximized NOTIFY filterNotMaximizedChanged)
+ Q_PROPERTY(bool filterSkipTaskbar READ filterSkipTaskbar WRITE setFilterSkipTaskbar NOTIFY filterSkipTaskbarChanged)
+ Q_PROPERTY(bool filterSkipPager READ filterSkipPager WRITE setFilterSkipPager NOTIFY filterSkipPagerChanged)
+
+@@ -212,6 +213,23 @@ public:
+ **/
+ void setFilterNotMinimized(bool filter);
+
++ /**
++ * Whether non-maximized tasks should be filtered. Defaults to
++ * @c false.
++ *
++ * @see setFilterNotMaximized
++ * @returns @c true if non-maximized tasks should be filtered.
++ **/
++ bool filterNotMaximized() const;
++
++ /**
++ * Set whether non-maximized tasks should be filtered.
++ *
++ * @see filterNotMaximized
++ * @param filter Whether non-maximized tasks should be filtered.
++ **/
++ void setFilterNotMaximized(bool filter);
++
+ /**
+ * Whether tasks which should be omitted from 'task bars' should be
+ * filtered. Defaults to @c true.
+@@ -285,6 +303,7 @@ Q_SIGNALS:
+ void filterByScreenChanged() const;
+ void filterByActivityChanged() const;
+ void filterNotMinimizedChanged() const;
++ void filterNotMaximizedChanged() const;
+ void filterSkipTaskbarChanged() const;
+ void filterSkipPagerChanged() const;
+ void demandingAttentionSkipsFiltersChanged() const;
+diff --git a/libtaskmanager/tasksmodel.cpp b/libtaskmanager/tasksmodel.cpp
+index c6e66926b..11eb53fdf 100644
+--- a/libtaskmanager/tasksmodel.cpp
++++ b/libtaskmanager/tasksmodel.cpp
+@@ -302,6 +302,7 @@ void TasksModel::Private::initModels()
+ QObject::connect(filterProxyModel, &TaskFilterProxyModel::filterByScreenChanged, q, &TasksModel::filterByScreenChanged);
+ QObject::connect(filterProxyModel, &TaskFilterProxyModel::filterByActivityChanged, q, &TasksModel::filterByActivityChanged);
+ QObject::connect(filterProxyModel, &TaskFilterProxyModel::filterNotMinimizedChanged, q, &TasksModel::filterNotMinimizedChanged);
++ QObject::connect(filterProxyModel, &TaskFilterProxyModel::filterNotMaximizedChanged, q, &TasksModel::filterNotMaximizedChanged);
+
+ groupingProxyModel = new TaskGroupingProxyModel(q);
+ groupingProxyModel->setSourceModel(filterProxyModel);
+@@ -1152,6 +1153,16 @@ void TasksModel::setFilterNotMinimized(bool filter)
+ d->filterProxyModel->setFilterNotMinimized(filter);
+ }
+
++bool TasksModel::filterNotMaximized() const
++{
++ return d->filterProxyModel->filterNotMaximized();
++}
++
++void TasksModel::setFilterNotMaximized(bool filter)
++{
++ d->filterProxyModel->setFilterNotMaximized(filter);
++}
++
+ TasksModel::SortMode TasksModel::sortMode() const
+ {
+ return d->sortMode;
+diff --git a/libtaskmanager/tasksmodel.h b/libtaskmanager/tasksmodel.h
+index 18e3d9bb4..8c84012d0 100644
+--- a/libtaskmanager/tasksmodel.h
++++ b/libtaskmanager/tasksmodel.h
+@@ -73,6 +73,7 @@ class TASKMANAGER_EXPORT TasksModel : public QSortFilterProxyModel, public Abstr
+ Q_PROPERTY(bool filterByScreen READ filterByScreen WRITE setFilterByScreen NOTIFY filterByScreenChanged)
+ Q_PROPERTY(bool filterByActivity READ filterByActivity WRITE setFilterByActivity NOTIFY filterByActivityChanged)
+ Q_PROPERTY(bool filterNotMinimized READ filterNotMinimized WRITE setFilterNotMinimized NOTIFY filterNotMinimizedChanged)
++ Q_PROPERTY(bool filterNotMaximized READ filterNotMaximized WRITE setFilterNotMaximized NOTIFY filterNotMaximized)
+
+ Q_PROPERTY(SortMode sortMode READ sortMode WRITE setSortMode NOTIFY sortModeChanged)
+ Q_PROPERTY(bool separateLaunchers READ separateLaunchers WRITE setSeparateLaunchers NOTIFY separateLaunchersChanged)
+@@ -295,6 +296,23 @@ public:
+ **/
+ void setFilterNotMinimized(bool filter);
+
++ /**
++ * Whether non-maximized tasks should be filtered. Defaults to
++ * @c false.
++ *
++ * @see setFilterNotMaximized
++ * @returns @c true if non-maximized tasks should be filtered.
++ **/
++ bool filterNotMaximized() const;
++
++ /**
++ * Set whether non-maximized tasks should be filtered.
++ *
++ * @see filterNotMaximized
++ * @param filter Whether non-maximized tasks should be filtered.
++ **/
++ void setFilterNotMaximized(bool filter);
++
+ /**
+ * The sort mode used in sorting tasks. Defaults to SortAlpha.
+ *
+@@ -848,6 +866,7 @@ Q_SIGNALS:
+ void filterByScreenChanged() const;
+ void filterByActivityChanged() const;
+ void filterNotMinimizedChanged() const;
++ void filterNotMaximizedChanged() const;
+ void sortModeChanged() const;
+ void separateLaunchersChanged() const;
+ void launchInPlaceChanged() const;
+diff --git a/shell/panelconfigview.cpp b/shell/panelconfigview.cpp
+index a331c0bb2..5637f3233 100644
+--- a/shell/panelconfigview.cpp
++++ b/shell/panelconfigview.cpp
+@@ -289,6 +289,17 @@ PanelView::VisibilityMode PanelConfigView::visibilityMode() const
+ return m_panelView->visibilityMode();
+ }
+
++void PanelConfigView::setOpacityMode(PanelView::OpacityMode mode)
++{
++ m_panelView->setOpacityMode(mode);
++ emit opacityModeChanged();
++}
++
++PanelView::OpacityMode PanelConfigView::opacityMode() const
++{
++ return m_panelView->opacityMode();
++}
++
+ Plasma::FrameSvg::EnabledBorders PanelConfigView::enabledBorders() const
+ {
+ return m_enabledBorders;
+diff --git a/shell/panelconfigview.h b/shell/panelconfigview.h
+index 8e0abd314..db2af6bf9 100644
+--- a/shell/panelconfigview.h
++++ b/shell/panelconfigview.h
+@@ -51,6 +51,7 @@ class PanelConfigView : public PlasmaQuick::ConfigView
+ {
+ Q_OBJECT
+ Q_PROPERTY(PanelView::VisibilityMode visibilityMode READ visibilityMode WRITE setVisibilityMode NOTIFY visibilityModeChanged)
++ Q_PROPERTY(PanelView::OpacityMode opacityMode READ opacityMode WRITE setOpacityMode NOTIFY opacityModeChanged)
+ Q_PROPERTY(Plasma::FrameSvg::EnabledBorders enabledBorders READ enabledBorders NOTIFY enabledBordersChanged)
+
+ public:
+@@ -62,6 +63,9 @@ public:
+ PanelView::VisibilityMode visibilityMode() const;
+ void setVisibilityMode(PanelView::VisibilityMode mode);
+
++ PanelView::OpacityMode opacityMode() const;
++ void setOpacityMode(PanelView::OpacityMode mode);
++
+ Plasma::FrameSvg::EnabledBorders enabledBorders() const;
+
+ protected:
+@@ -84,6 +88,7 @@ private Q_SLOTS:
+
+ Q_SIGNALS:
+ void visibilityModeChanged();
++ void opacityModeChanged();
+ void enabledBordersChanged();
+
+ private:
+diff --git a/shell/panelview.cpp b/shell/panelview.cpp
+index 4654a7a72..a699cc84c 100644
+--- a/shell/panelview.cpp
++++ b/shell/panelview.cpp
+@@ -64,6 +64,7 @@ PanelView::PanelView(ShellCorona *corona, QScreen *targetScreen, QWindow *parent
+ , m_alignment(Qt::AlignLeft)
+ , m_corona(corona)
+ , m_visibilityMode(NormalPanel)
++ , m_opacityMode(Adaptive)
+ , m_backgroundHints(Plasma::Types::StandardBackground)
+ , m_shellSurface(nullptr)
+ {
+@@ -76,8 +77,10 @@ PanelView::PanelView(ShellCorona *corona, QScreen *targetScreen, QWindow *parent
+ setClearBeforeRendering(true);
+ setColor(QColor(Qt::transparent));
+ setFlags(Qt::FramelessWindowHint | Qt::WindowDoesNotAcceptFocus);
++ updateAdaptiveOpacityEnabled();
+
+ connect(&m_theme, &Plasma::Theme::themeChanged, this, &PanelView::updateMask);
++ connect(&m_theme, &Plasma::Theme::themeChanged, this, &PanelView::updateAdaptiveOpacityEnabled);
+ connect(this, &PanelView::backgroundHintsChanged, this, &PanelView::updateMask);
+ connect(this, &PanelView::backgroundHintsChanged, this, &PanelView::updateEnabledBorders);
+ // TODO: add finished/componentComplete signal to QuickViewSharedEngine,
+@@ -405,6 +408,37 @@ PanelView::VisibilityMode PanelView::visibilityMode() const
+ return m_visibilityMode;
+ }
+
++PanelView::OpacityMode PanelView::opacityMode() const
++{
++ if (!m_theme.adaptiveTransparencyEnabled()) {
++ return PanelView::Translucent;
++ }
++ return m_opacityMode;
++}
++
++bool PanelView::adaptiveOpacityEnabled()
++{
++ return m_theme.adaptiveTransparencyEnabled();
++}
++
++void PanelView::setOpacityMode(PanelView::OpacityMode mode)
++{
++ if (m_opacityMode != mode) {
++ m_opacityMode = mode;
++ if (config().isValid() && config().parent().isValid()) {
++ config().parent().writeEntry("panelOpacity", (int)mode);
++ m_corona->requestApplicationConfigSync();
++ }
++ emit opacityModeChanged();
++ }
++}
++
++void PanelView::updateAdaptiveOpacityEnabled()
++{
++ emit opacityModeChanged();
++ emit adaptiveOpacityEnabledChanged();
++}
++
+ void PanelView::positionPanel()
+ {
+ if (!containment()) {
+@@ -599,6 +633,7 @@ void PanelView::restore()
+ // the place for this config key is changed in Plasma 5.9
+ // Do NOT use readConfigValueWithFallBack
+ setVisibilityMode((VisibilityMode)panelConfig.parent().readEntry<int>("panelVisibility", panelConfig.readEntry<int>("panelVisibility", (int)NormalPanel)));
++ setOpacityMode((OpacityMode)readConfigValueWithFallBack("panelOpacity", PanelView::OpacityMode::Adaptive));
+ m_initCompleted = true;
+ resizePanel();
+ positionPanel();
+diff --git a/shell/panelview.h b/shell/panelview.h
+index 60e4d446e..c312d4907 100644
+--- a/shell/panelview.h
++++ b/shell/panelview.h
+@@ -100,6 +100,18 @@ class PanelView : public PlasmaQuick::ContainmentView
+ */
+ Q_PROPERTY(VisibilityMode visibilityMode READ visibilityMode WRITE setVisibilityMode NOTIFY visibilityModeChanged)
+
++ /**
++ * Property that determines how a panel's opacity behaves.
++ *
++ * @see OpacityMode
++ */
++ Q_PROPERTY(OpacityMode opacityMode READ opacityMode WRITE setOpacityMode NOTIFY opacityModeChanged)
++
++ /**
++ /* Property that determines whether adaptive opacity is used.
++ */
++ Q_PROPERTY(bool adaptiveOpacityEnabled READ adaptiveOpacityEnabled NOTIFY adaptiveOpacityEnabledChanged)
++
+ public:
+ enum VisibilityMode {
+ NormalPanel = 0, /** default, always visible panel, the windowmanager reserves a places for it */
+@@ -109,6 +121,14 @@ public:
+ };
+ Q_ENUM(VisibilityMode)
+
++ /** Enumeration of possible opacity modes. */
++ enum OpacityMode {
++ Adaptive = 0, /** The panel will change opacity depending on the presence of a maximized window */
++ Opaque, /** The panel will always be opaque */
++ Translucent /** The panel will always be translucent */
++ };
++ Q_ENUM(OpacityMode)
++
+ explicit PanelView(ShellCorona *corona, QScreen *targetScreen = nullptr, QWindow *parent = nullptr);
+ ~PanelView() override;
+
+@@ -147,6 +167,11 @@ public:
+ VisibilityMode visibilityMode() const;
+ void setVisibilityMode(PanelView::VisibilityMode mode);
+
++ PanelView::OpacityMode opacityMode() const;
++ bool adaptiveOpacityEnabled();
++ void setOpacityMode(PanelView::OpacityMode mode);
++ void updateAdaptiveOpacityEnabled();
++
+ /**
+ * @returns the geometry of the panel given a distance
+ */
+@@ -185,6 +210,8 @@ Q_SIGNALS:
+ // QWindow does not have a property for screen. Adding this property requires re-implementing the signal
+ void screenToFollowChanged(QScreen *screen);
+ void visibilityModeChanged();
++ void opacityModeChanged();
++ void adaptiveOpacityEnabledChanged();
+
+ protected Q_SLOTS:
+ /**
+@@ -235,6 +262,7 @@ private:
+ ShellCorona *m_corona;
+ QTimer m_strutsTimer;
+ VisibilityMode m_visibilityMode;
++ OpacityMode m_opacityMode;
+ Plasma::Theme m_theme;
+ QTimer m_positionPaneltimer;
+ QTimer m_unhideTimer;
+--
+GitLab
+
diff --git a/kde-plasma/plasma-workspace/metadata.xml b/kde-plasma/plasma-workspace/metadata.xml
index 599877f90bfb..c5f5b9be610c 100644
--- a/kde-plasma/plasma-workspace/metadata.xml
+++ b/kde-plasma/plasma-workspace/metadata.xml
@@ -7,6 +7,7 @@
</maintainer>
<use>
<flag name="appstream">Enable AppStream software metadata support</flag>
+ <flag name="calculator">Enable calculator runner using <pkg>sci-libs/libqalculate</pkg></flag>
<flag name="geolocation">Enables dataengine providing location information</flag>
<flag name="qalculate">Enable Qalculate runner using <pkg>sci-libs/libqalculate</pkg></flag>
<flag name="screencast">Enable screencast portal using <pkg>media-video/pipewire</pkg></flag>
diff --git a/kde-plasma/plasma-workspace/plasma-workspace-5.21.4.ebuild b/kde-plasma/plasma-workspace/plasma-workspace-5.21.5.ebuild
index f5bd3552dddc..35b280c763ac 100644
--- a/kde-plasma/plasma-workspace/plasma-workspace-5.21.4.ebuild
+++ b/kde-plasma/plasma-workspace/plasma-workspace-5.21.5.ebuild
@@ -5,7 +5,7 @@ EAPI=7
ECM_HANDBOOK="forceoptional"
ECM_TEST="forceoptional"
-KFMIN=5.78.0
+KFMIN=5.82.0
PVCUT=$(ver_cut 1-3)
QTMIN=5.15.2
VIRTUALX_REQUIRED="test"
@@ -16,12 +16,12 @@ DESCRIPTION="KDE Plasma workspace"
LICENSE="GPL-2" # TODO: CHECK
SLOT="5"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
-IUSE="appstream +calendar +fontconfig geolocation gps qalculate screencast +semantic-desktop systemd telemetry"
+IUSE="appstream +calculator +calendar +fontconfig geolocation gps screencast
++semantic-desktop systemd telemetry"
REQUIRED_USE="gps? ( geolocation )"
RESTRICT+=" test"
-BDEPEND="virtual/pkgconfig"
COMMON_DEPEND="
>=dev-libs/wayland-1.15
>=dev-qt/qtdbus-${QTMIN}:5
@@ -93,6 +93,7 @@ COMMON_DEPEND="
x11-libs/xcb-util
x11-libs/xcb-util-image
appstream? ( dev-libs/appstream[qt5] )
+ calculator? ( sci-libs/libqalculate:= )
calendar? ( >=kde-frameworks/kholidays-${KFMIN}:5 )
fontconfig? (
media-libs/fontconfig
@@ -102,7 +103,6 @@ COMMON_DEPEND="
)
geolocation? ( >=kde-frameworks/networkmanager-qt-${KFMIN}:5 )
gps? ( sci-geosciences/gpsd )
- qalculate? ( sci-libs/libqalculate:= )
screencast? (
>=media-video/pipewire-0.3:=
x11-libs/libdrm
@@ -138,13 +138,22 @@ RDEPEND="${COMMON_DEPEND}
!systemd? ( sys-apps/dbus )
!<kde-plasma/plasma-desktop-5.19.80:5
"
+BDEPEND="virtual/pkgconfig"
PDEPEND="
>=kde-plasma/kde-cli-tools-${PVCUT}:5
"
-PATCHES=( "${FILESDIR}/${PN}-5.14.2-split-libkworkspace.patch" )
+PATCHES=(
+ "${FILESDIR}/${PN}-5.14.2-split-libkworkspace.patch"
+ "${FILESDIR}/${P}-revert-activate-krunner.patch" # bug 767478
+ "${FILESDIR}/${P}-transparency.patch" # KDE-bug 434202
+ "${FILESDIR}/${P}-transparency-panelConfig.patch" # KDE-bug 434285
+ "${FILESDIR}/${P}-dangerous-shortcuts.patch" # KDE-bug 435954
+)
src_prepare() {
+ rm po/ta/kcm_autostart.po || die # spurious file
+
ecm_src_prepare
cmake_comment_add_subdirectory libkworkspace
@@ -155,9 +164,12 @@ src_prepare() {
# TODO: try to get a build switch upstreamed
if ! use screencast; then
- sed -e "s/^pkg_check_modules.*PipeWire/#&/" \
- -i CMakeLists.txt || die
+ sed -e "s/^pkg_check_modules.*PipeWire/#&/" -i CMakeLists.txt || die
fi
+
+ # KDE-bug: 433730
+ use calculator ||
+ cmake_run_in runners cmake_comment_add_subdirectory calculator
}
src_configure() {
@@ -167,7 +179,6 @@ src_configure() {
$(cmake_use_find_package calendar KF5Holidays)
$(cmake_use_find_package fontconfig Fontconfig)
$(cmake_use_find_package geolocation KF5NetworkManagerQt)
- $(cmake_use_find_package qalculate Qalculate)
$(cmake_use_find_package semantic-desktop KF5Baloo)
$(cmake_use_find_package telemetry KUserFeedback)
)