diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2021-05-11 19:55:43 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2021-05-11 19:55:43 +0100 |
commit | 185fa19bbf68a4d4dca534d2b46729207a177f16 (patch) | |
tree | a8a537b82fda83a0799c2ca9887f212558363aa7 /kde-plasma/plasma-workspace | |
parent | c8fd0d84af0bfd1949542adc2cbb735b1d28f9ed (diff) |
gentoo resync : 11.05.2021
Diffstat (limited to 'kde-plasma/plasma-workspace')
-rw-r--r-- | kde-plasma/plasma-workspace/Manifest | 10 | ||||
-rw-r--r-- | kde-plasma/plasma-workspace/files/plasma-workspace-5.21.5-dangerous-shortcuts.patch | 45 | ||||
-rw-r--r-- | kde-plasma/plasma-workspace/files/plasma-workspace-5.21.5-revert-activate-krunner.patch | 56 | ||||
-rw-r--r-- | kde-plasma/plasma-workspace/files/plasma-workspace-5.21.5-transparency-panelConfig.patch | 27 | ||||
-rw-r--r-- | kde-plasma/plasma-workspace/files/plasma-workspace-5.21.5-transparency.patch | 376 | ||||
-rw-r--r-- | kde-plasma/plasma-workspace/metadata.xml | 1 | ||||
-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) ) |