From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id BF056158086 for ; Tue, 23 Nov 2021 14:59:38 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 76CD5E0870; Tue, 23 Nov 2021 14:59:37 +0000 (UTC) Received: from smtp.gentoo.org (mail.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 52637E0870 for ; Tue, 23 Nov 2021 14:59:37 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 3D368342F44 for ; Tue, 23 Nov 2021 14:59:36 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 887D91DC for ; Tue, 23 Nov 2021 14:59:34 +0000 (UTC) From: "Andreas Sturmlechner" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Andreas Sturmlechner" Message-ID: <1637679551.6cd2d37aef9a8974b31772a99496f0905e25c64b.asturm@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: kde-frameworks/plasma/, kde-frameworks/plasma/files/ X-VCS-Repository: repo/gentoo X-VCS-Files: kde-frameworks/plasma/files/plasma-5.88.0-fix-centered-text.patch kde-frameworks/plasma/files/plasma-5.88.0-fix-misrenderings-with-transparency.patch kde-frameworks/plasma/files/plasma-5.88.0-make-OSD-an-actual-wayland-OSD.patch kde-frameworks/plasma/plasma-5.88.0-r1.ebuild X-VCS-Directories: kde-frameworks/plasma/files/ kde-frameworks/plasma/ X-VCS-Committer: asturm X-VCS-Committer-Name: Andreas Sturmlechner X-VCS-Revision: 6cd2d37aef9a8974b31772a99496f0905e25c64b X-VCS-Branch: master Date: Tue, 23 Nov 2021 14:59:34 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 51d408ab-e626-4c4e-a690-c83bfe738111 X-Archives-Hash: 4e473606bcb69a65cdf1e8b1f84725e9 commit: 6cd2d37aef9a8974b31772a99496f0905e25c64b Author: Andreas Sturmlechner gentoo org> AuthorDate: Mon Nov 15 14:38:30 2021 +0000 Commit: Andreas Sturmlechner gentoo org> CommitDate: Tue Nov 23 14:59:11 2021 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6cd2d37a kde-frameworks/plasma: Visual fixes Make the OSD an actual wayland OSD KDE-bug: https://bugs.kde.org/show_bug.cgi?id=428859 Upstream commit 2ba1b0b642d540f74f0e21e7aaa272644ea4eda5 Fixed a visual glitch with Plasma tooltips flickering KDE-bug: https://bugs.kde.org/show_bug.cgi?id=305247 Upstream commit 6176d8ef8f36290075c5bd8932d623e68468a1cd Fix centered icons and text in Plasma applet tabs KDE-bug: https://bugs.kde.org/show_bug.cgi?id=442830 Upstream commit 92ac1038cff333d70a71331b2a5fa0b9d91bc39d Package-Manager: Portage-3.0.28, Repoman-3.0.3 Signed-off-by: Andreas Sturmlechner gentoo.org> .../files/plasma-5.88.0-fix-centered-text.patch | 121 +++++++++++++++++++++ ....88.0-fix-misrenderings-with-transparency.patch | 34 ++++++ ...sma-5.88.0-make-OSD-an-actual-wayland-OSD.patch | 34 ++++++ kde-frameworks/plasma/plasma-5.88.0-r1.ebuild | 79 ++++++++++++++ 4 files changed, 268 insertions(+) diff --git a/kde-frameworks/plasma/files/plasma-5.88.0-fix-centered-text.patch b/kde-frameworks/plasma/files/plasma-5.88.0-fix-centered-text.patch new file mode 100644 index 000000000000..8fb393a568d6 --- /dev/null +++ b/kde-frameworks/plasma/files/plasma-5.88.0-fix-centered-text.patch @@ -0,0 +1,121 @@ +From 92ac1038cff333d70a71331b2a5fa0b9d91bc39d Mon Sep 17 00:00:00 2001 +From: Eugene Popov +Date: Fri, 19 Nov 2021 11:13:03 +0000 +Subject: [PATCH] Fix IconLabel + +--- + .../plasmacomponents3/private/IconLabel.qml | 97 +++++++++++-------- + 1 file changed, 55 insertions(+), 42 deletions(-) + +diff --git a/src/declarativeimports/plasmacomponents3/private/IconLabel.qml b/src/declarativeimports/plasmacomponents3/private/IconLabel.qml +index 467c2f54b..74a8ff3a5 100644 +--- a/src/declarativeimports/plasmacomponents3/private/IconLabel.qml ++++ b/src/declarativeimports/plasmacomponents3/private/IconLabel.qml +@@ -24,49 +24,62 @@ T.Control { + PlasmaCore.ColorScope.inherit: true + implicitWidth: implicitContentWidth + leftPadding + rightPadding + implicitHeight: implicitContentHeight + topPadding + bottomPadding +- contentItem: GridLayout { +- rowSpacing: root.spacing +- columnSpacing: root.spacing +- flow: root.display === T.AbstractButton.TextUnderIcon ? GridLayout.TopToBottom : GridLayout.LeftToRight +- PlasmaCore.IconItem { +- id: iconItem +- visible: valid && width > 0 && height > 0 && root.display !== T.AbstractButton.TextOnly +- colorGroup: root.PlasmaCore.ColorScope.colorGroup +- implicitWidth: PlasmaCore.Units.iconSizes.sizeForLabels +- implicitHeight: PlasmaCore.Units.iconSizes.sizeForLabels +- Layout.fillWidth: true +- Layout.fillHeight: true +- Layout.maximumWidth: implicitWidth > 0 ? implicitWidth : Number.POSITIVE_INFINITY +- Layout.maximumHeight: implicitHeight > 0 ? implicitHeight : Number.POSITIVE_INFINITY +- Layout.alignment: if (root.textBesideIcon) { +- Qt.AlignRight | Qt.AlignVCenter +- } else if (root.textUnderIcon) { +- Qt.AlignHCenter | Qt.AlignBottom +- } else { +- Qt.AlignCenter ++ contentItem: Item { ++ implicitWidth: gridLayout.implicitWidth ++ implicitHeight: gridLayout.implicitHeight ++ GridLayout { ++ id: gridLayout ++ rowSpacing: root.spacing ++ columnSpacing: root.spacing ++ flow: root.display === T.AbstractButton.TextUnderIcon ? GridLayout.TopToBottom : GridLayout.LeftToRight ++ x: { ++ if (root.alignment & Qt.AlignLeft) { ++ return 0; ++ } ++ if (root.alignment & Qt.AlignRight) { ++ return parent.width - width; ++ } ++ return Math.round((parent.width - width) / 2); + } +- } +- T.Label { +- id: label +- visible: text.length > 0 && root.display !== T.AbstractButton.IconOnly +- palette: root.palette +- font: root.font +- horizontalAlignment: root.alignment & Qt.AlignHorizontal_Mask || Text.AlignHCenter +- verticalAlignment: root.alignment & Qt.AlignVertical_Mask || Text.AlignVCenter +- // Work around Qt bug where NativeRendering breaks for non-integer scale factors +- // https://bugreports.qt.io/browse/QTBUG-70481 +- renderType: Screen.devicePixelRatio % 1 !== 0 ? Text.QtRendering : Text.NativeRendering +- color: PlasmaCore.ColorScope.textColor +- linkColor: PlasmaCore.Theme.linkColor +- elide: Text.ElideRight +- Layout.fillWidth: root.alignment & Qt.AlignHorizontal_Mask +- Layout.fillHeight: root.alignment & Qt.AlignVertical_Mask +- Layout.alignment: if (root.textBesideIcon) { +- Qt.AlignLeft | Qt.AlignVCenter +- } else if (root.textUnderIcon) { +- Qt.AlignHCenter | Qt.AlignTop +- } else { +- Qt.AlignCenter ++ y: { ++ if (root.alignment & Qt.AlignTop) { ++ return 0; ++ } ++ if (root.alignment & Qt.AlignBottom) { ++ return parent.height - height; ++ } ++ return Math.round((parent.height - height) / 2); ++ } ++ width: Math.min(parent.width, implicitWidth) ++ height: Math.min(parent.height, implicitHeight) ++ PlasmaCore.IconItem { ++ id: iconItem ++ visible: valid && width > 0 && height > 0 && root.display !== T.AbstractButton.TextOnly ++ colorGroup: root.PlasmaCore.ColorScope.colorGroup ++ implicitWidth: PlasmaCore.Units.iconSizes.sizeForLabels ++ implicitHeight: PlasmaCore.Units.iconSizes.sizeForLabels ++ Layout.alignment: Qt.AlignCenter ++ Layout.maximumWidth: implicitWidth > 0 ? implicitWidth : Number.POSITIVE_INFINITY ++ Layout.maximumHeight: implicitHeight > 0 ? implicitHeight : Number.POSITIVE_INFINITY ++ } ++ T.Label { ++ id: label ++ visible: text.length > 0 && root.display !== T.AbstractButton.IconOnly ++ palette: root.palette ++ font: root.font ++ // Work around Qt bug where NativeRendering breaks for non-integer scale factors ++ // https://bugreports.qt.io/browse/QTBUG-70481 ++ renderType: Screen.devicePixelRatio % 1 !== 0 ? Text.QtRendering : Text.NativeRendering ++ color: PlasmaCore.ColorScope.textColor ++ linkColor: PlasmaCore.Theme.linkColor ++ elide: Text.ElideRight ++ Layout.alignment: Qt.AlignCenter ++ Layout.fillWidth: { ++ if (!iconItem.visible || parent.flow === GridLayout.TopToBottom) { ++ return implicitWidth > parent.width; ++ } ++ return iconItem.implicitWidth + parent.columnSpacing + implicitWidth > parent.width; ++ } + } + } + } +-- +GitLab + diff --git a/kde-frameworks/plasma/files/plasma-5.88.0-fix-misrenderings-with-transparency.patch b/kde-frameworks/plasma/files/plasma-5.88.0-fix-misrenderings-with-transparency.patch new file mode 100644 index 000000000000..d1e6f37d8a2b --- /dev/null +++ b/kde-frameworks/plasma/files/plasma-5.88.0-fix-misrenderings-with-transparency.patch @@ -0,0 +1,34 @@ +From 6176d8ef8f36290075c5bd8932d623e68468a1cd Mon Sep 17 00:00:00 2001 +From: Marco Martin +Date: Tue, 16 Nov 2021 11:05:17 +0100 +Subject: [PATCH] Do updateTheme after QQuickWindow::event + +doing updatetheme there will ensure that the window size is correct, +so then when the surface commit will happen, we'll have the blur +and contrast regions wit hthe proper geometry + +BUG:305247 +--- + src/plasmaquick/dialog.cpp | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/plasmaquick/dialog.cpp b/src/plasmaquick/dialog.cpp +index eac7d432a..343bfe4c0 100644 +--- a/src/plasmaquick/dialog.cpp ++++ b/src/plasmaquick/dialog.cpp +@@ -1243,10 +1243,12 @@ bool Dialog::event(QEvent *event) + // sometimes non null regions arrive even for non visible windows + // for which surface creation would fail + if (!d->shellSurface && isVisible()) { ++ const bool ret = QQuickWindow::event(event); + KWindowSystem::setState(winId(), NET::SkipTaskbar | NET::SkipPager | NET::SkipSwitcher); + d->setupWaylandIntegration(); + d->updateVisibility(true); + d->updateTheme(); ++ return ret; + } + #endif + } else if (event->type() == QEvent::PlatformSurface) { +-- +GitLab + diff --git a/kde-frameworks/plasma/files/plasma-5.88.0-make-OSD-an-actual-wayland-OSD.patch b/kde-frameworks/plasma/files/plasma-5.88.0-make-OSD-an-actual-wayland-OSD.patch new file mode 100644 index 000000000000..0631155c89bf --- /dev/null +++ b/kde-frameworks/plasma/files/plasma-5.88.0-make-OSD-an-actual-wayland-OSD.patch @@ -0,0 +1,34 @@ +From 2ba1b0b642d540f74f0e21e7aaa272644ea4eda5 Mon Sep 17 00:00:00 2001 +From: Marco Martin +Date: Mon, 8 Nov 2021 16:12:38 +0000 +Subject: [PATCH] make the OSD an actual wayland OSD + +when the OnScreenDisplay type is set, set it on the plasma shell surface +so KWin can actually treat it as such + +CCBUG:428859 +--- + src/plasmaquick/dialog.cpp | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/src/plasmaquick/dialog.cpp b/src/plasmaquick/dialog.cpp +index 4cea3a28e..3254b8320 100644 +--- a/src/plasmaquick/dialog.cpp ++++ b/src/plasmaquick/dialog.cpp +@@ -736,6 +736,13 @@ void DialogPrivate::applyType() + if (!wmType) { + KWindowSystem::setType(q->winId(), static_cast(type)); + } ++#if HAVE_KWAYLAND ++ if (type == Dialog::OnScreenDisplay) { ++ if (shellSurface) { ++ shellSurface->setRole(KWayland::Client::PlasmaShellSurface::Role::OnScreenDisplay); ++ } ++ } ++#endif + } else { + q->setFlags(Qt::FramelessWindowHint | q->flags()); + +-- +GitLab + diff --git a/kde-frameworks/plasma/plasma-5.88.0-r1.ebuild b/kde-frameworks/plasma/plasma-5.88.0-r1.ebuild new file mode 100644 index 000000000000..5a0e6848003e --- /dev/null +++ b/kde-frameworks/plasma/plasma-5.88.0-r1.ebuild @@ -0,0 +1,79 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +KDE_ORG_NAME="${PN}-framework" +PVCUT=$(ver_cut 1-2) +QTMIN=5.15.2 +VIRTUALX_REQUIRED="test" +inherit ecm kde.org + +DESCRIPTION="Plasma framework" + +LICENSE="LGPL-2+" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" +IUSE="gles2-only man wayland X" + +RESTRICT="test" + +RDEPEND=" + >=dev-qt/qtdbus-${QTMIN}:5 + >=dev-qt/qtdeclarative-${QTMIN}:5 + >=dev-qt/qtgui-${QTMIN}:5[gles2-only=,X=] + >=dev-qt/qtquickcontrols-${QTMIN}:5 + >=dev-qt/qtsql-${QTMIN}:5 + >=dev-qt/qtsvg-${QTMIN}:5 + >=dev-qt/qtwidgets-${QTMIN}:5 + =kde-frameworks/kactivities-${PVCUT}*:5 + =kde-frameworks/karchive-${PVCUT}*:5 + =kde-frameworks/kconfig-${PVCUT}*:5 + =kde-frameworks/kconfigwidgets-${PVCUT}*:5 + =kde-frameworks/kcoreaddons-${PVCUT}*:5 + =kde-frameworks/kdeclarative-${PVCUT}*:5 + =kde-frameworks/kglobalaccel-${PVCUT}*:5 + =kde-frameworks/kguiaddons-${PVCUT}*:5 + =kde-frameworks/ki18n-${PVCUT}*:5 + =kde-frameworks/kiconthemes-${PVCUT}*:5 + =kde-frameworks/kio-${PVCUT}*:5 + =kde-frameworks/kirigami-${PVCUT}*:5 + =kde-frameworks/knotifications-${PVCUT}*:5 + =kde-frameworks/kpackage-${PVCUT}*:5 + =kde-frameworks/kservice-${PVCUT}*:5 + =kde-frameworks/kwidgetsaddons-${PVCUT}*:5 + =kde-frameworks/kwindowsystem-${PVCUT}*:5 + =kde-frameworks/kxmlgui-${PVCUT}*:5 + !gles2-only? ( media-libs/libglvnd[X?] ) + wayland? ( + =kde-frameworks/kwayland-${PVCUT}*:5 + media-libs/libglvnd + ) + X? ( + >=dev-qt/qtx11extras-${QTMIN}:5 + x11-libs/libX11 + x11-libs/libxcb + ) +" +DEPEND="${RDEPEND} + X? ( x11-base/xorg-proto ) +" +BDEPEND="man? ( >=kde-frameworks/kdoctools-${PVCUT}:5 )" + +PATCHES=( + "${FILESDIR}"/${P}-make-OSD-an-actual-wayland-OSD.patch + "${FILESDIR}"/${P}-fix-misrenderings-with-transparency.patch # KDE-bug 305247 + "${FILESDIR}"/${P}-fix-centered-text.patch # KDE-bug 442830 +) + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package !gles2-only OpenGL) + $(cmake_use_find_package man KF5DocTools) + $(cmake_use_find_package wayland EGL) + $(cmake_use_find_package wayland KF5Wayland) + $(cmake_use_find_package X X11) + $(cmake_use_find_package X XCB) + ) + + ecm_src_configure +}