megacoffee.net Gentoo overlay - legacy mirror
We have moved to Git. This repository is only provided for compatibility with old installations. Learn how to migrate your installation here.
changeset 250:37508d4f31c8
[sync] imported 18f98a6..d0858fb from upstream
commit d0858fbd09faf50138d7ad3a4559ba1f3e2b930c
Author: Daniel Neugebauer <dneuge@energiequant.de>
Date: Thu Apr 27 12:49:23 2023 +0200
kde-plasma/breeze: configurable outline (MR 292) via patch_outline
Source: https://invent.kde.org/plasma/breeze/-/merge_requests/292
commit ef044cae13e73c5f9dd2d078a4879df3987cc69a
Author: Daniel Neugebauer <dneuge@energiequant.de>
Date: Thu Apr 27 12:26:14 2023 +0200
kde-plasma/breeze-5.27.4 copied from main Gentoo repository
author | Migration Sync <gentoo-overlay@megacoffee.net> |
---|---|
date | Thu, 27 Apr 2023 11:00:03 +0000 |
parents | 0685ed0fb913 |
children | 4e7ce7eba104 |
files | kde-plasma/breeze/Manifest kde-plasma/breeze/breeze-5.27.4.ebuild kde-plasma/breeze/files/5.27.4_breeze_mr292_outline_intensity_setting.patch kde-plasma/breeze/metadata.xml |
diffstat | 4 files changed, 754 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/kde-plasma/breeze/Manifest Thu Apr 27 11:00:03 2023 +0000 @@ -0,0 +1,3 @@ +AUX 5.27.4_breeze_mr292_outline_intensity_setting.patch 28046 BLAKE2B d23c3fa2c9ddb4d95c1f5faaf28e1ebd9deeb607ef4ab7161566b2c3ef287fd09d33af10a7b2df78624a95af438f081ae2ef309af2152d951b4fd72d6a5d3c00 SHA512 df8412801223619cfb6c0bedf23b40951341170d506038b2d5480da9cebd1ad5eb1de471043870fa9bbc6d5fb1268a3cfe8fba9370260fc49f42b009a7025329 +DIST breeze-5.27.4.tar.xz 87590008 BLAKE2B 478c552d522f101dde971c5a790bd18565068a62c3d089060d5392c1566c07e78536dc64671b9cbd7b024e80de166df8a837f87927e75d7bd3a0bd27de238299 SHA512 4fdb91d661cda973f59016c81172ceebd1a7d76ba7a07f3d6239e8716cea936b6fb89e9661adebc20f44431351eee672a09a75a851cf61f624852b3472826430 +EBUILD breeze-5.27.4.ebuild 1291 BLAKE2B 3c8df115fa90c7d05de18ade18ab000519d7663db634ad54949f63257ad8c8e8f1f0d489a31841596ac06e89bb030bc0f16b7e7e2b9bbef4e182ebf6c7626bdd SHA512 8b9c8545f19d366a3ac382bdc47b52a42feacd867113946f1c812dd343e9b3be52b0951b2ed835306db6277a176d219c7f5b70efc2bd115b3488342541754087
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/kde-plasma/breeze/breeze-5.27.4.ebuild Thu Apr 27 11:00:03 2023 +0000 @@ -0,0 +1,49 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +KFMIN=5.102.0 +PVCUT=$(ver_cut 1-3) +QTMIN=5.15.7 +inherit ecm plasma.kde.org + +DESCRIPTION="Breeze visual style for the Plasma desktop" +HOMEPAGE="https://invent.kde.org/plasma/breeze" + +LICENSE="GPL-2" # TODO: CHECK +SLOT="5" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" +IUSE="patch_outline" + +RDEPEND=" + >=dev-qt/qtdbus-${QTMIN}:5 + >=dev-qt/qtdeclarative-${QTMIN}:5 + >=dev-qt/qtgui-${QTMIN}:5 + >=dev-qt/qtwidgets-${QTMIN}:5 + >=dev-qt/qtx11extras-${QTMIN}:5 + >=kde-frameworks/frameworkintegration-${KFMIN}:5 + >=kde-frameworks/kcmutils-${KFMIN}:5 + >=kde-frameworks/kconfig-${KFMIN}:5 + >=kde-frameworks/kconfigwidgets-${KFMIN}:5 + >=kde-frameworks/kcoreaddons-${KFMIN}:5 + >=kde-frameworks/kguiaddons-${KFMIN}:5 + >=kde-frameworks/ki18n-${KFMIN}:5 + >=kde-frameworks/kiconthemes-${KFMIN}:5 + >=kde-frameworks/kwidgetsaddons-${KFMIN}:5 + >=kde-plasma/kdecoration-${PVCUT}:5 +" +DEPEND="${RDEPEND}" +BDEPEND=">=kde-frameworks/kcmutils-${KFMIN}:5" +PDEPEND=" + >=kde-frameworks/breeze-icons-${KFMIN}:5 + >=kde-plasma/kde-cli-tools-${PVCUT}:5 +" + +src_prepare() { + if use patch_outline; then + eapply "${FILESDIR}/5.27.4_breeze_mr292_outline_intensity_setting.patch" + fi + + cmake_src_prepare +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/kde-plasma/breeze/files/5.27.4_breeze_mr292_outline_intensity_setting.patch Thu Apr 27 11:00:03 2023 +0000 @@ -0,0 +1,695 @@ +From a77b1e00416d7d946539a3c2335b42e8c81cbe54 Mon Sep 17 00:00:00 2001 +From: Akseli Lahtinen <akselmo@akselmo.dev> +Date: Sun, 26 Feb 2023 18:37:54 +0200 +Subject: [PATCH 1/7] add m_outlineIntensity, check for outline intensity + before drawing + +--- + kdecoration/breezedecoration.cpp | 62 ++++++++++++++++---------------- + kdecoration/breezedecoration.h | 2 ++ + 2 files changed, 34 insertions(+), 30 deletions(-) + +diff --git a/kdecoration/breezedecoration.cpp b/kdecoration/breezedecoration.cpp +index cc5bb75d7..699221b79 100644 +--- a/kdecoration/breezedecoration.cpp ++++ b/kdecoration/breezedecoration.cpp +@@ -743,7 +743,7 @@ void Decoration::updateShadow() + outlineColor.hslSaturationF(), + qBound(0.1, outlineColor.lightnessF(), 1.0), + s->isAlphaChannelSupported() ? 0.9 : 1.0); +- outlineColor.lightnessF() >= 0.5 ? outlineColor = outlineColor.darker(170) : outlineColor = outlineColor.lighter(170); ++ outlineColor.lightnessF() >= 0.5 ? outlineColor = outlineColor.darker(m_outlineIntensity) : outlineColor = outlineColor.lighter(m_outlineIntensity); + + // Animated case, no cached shadow object + if ((m_shadowAnimation->state() == QAbstractAnimation::Running) && (m_shadowOpacity != 0.0) && (m_shadowOpacity != 1.0)) { +@@ -821,36 +821,38 @@ QSharedPointer<KDecoration2::DecorationShadow> Decoration::createShadowObject(co + painter.drawRoundedRect(innerRect, m_scaledCornerRadius + 0.5, m_scaledCornerRadius + 0.5); + + // Draw window outline +- const qreal outlineWidth = 1.001; +- const qreal penOffset = outlineWidth / 2; +- +- QRectF outlineRect = innerRect + QMarginsF(penOffset, penOffset, penOffset, penOffset); +- qreal cornerSize = m_scaledCornerRadius * 2; +- QRectF cornerRect(outlineRect.x(), outlineRect.y(), cornerSize, cornerSize); +- QPainterPath outlinePath; +- +- outlinePath.arcMoveTo(cornerRect, 180); +- outlinePath.arcTo(cornerRect, 180, -90); +- cornerRect.moveTopRight(outlineRect.topRight()); +- outlinePath.arcTo(cornerRect, 90, -90); +- +- // Check if border size is "no borders" or "no side-borders" +- if (borderSize(true) == 0) { +- outlinePath.lineTo(outlineRect.bottomRight()); +- outlinePath.lineTo(outlineRect.bottomLeft()); +- } else { +- cornerRect.moveBottomRight(outlineRect.bottomRight()); +- outlinePath.arcTo(cornerRect, 0, -90); +- cornerRect.moveBottomLeft(outlineRect.bottomLeft()); +- outlinePath.arcTo(cornerRect, 270, -90); +- } +- outlinePath.closeSubpath(); ++ if (m_outlineIntensity > 0) { ++ const qreal outlineWidth = 1.001; ++ const qreal penOffset = outlineWidth / 2; ++ ++ QRectF outlineRect = innerRect + QMarginsF(penOffset, penOffset, penOffset, penOffset); ++ qreal cornerSize = m_scaledCornerRadius * 2; ++ QRectF cornerRect(outlineRect.x(), outlineRect.y(), cornerSize, cornerSize); ++ QPainterPath outlinePath; ++ ++ outlinePath.arcMoveTo(cornerRect, 180); ++ outlinePath.arcTo(cornerRect, 180, -90); ++ cornerRect.moveTopRight(outlineRect.topRight()); ++ outlinePath.arcTo(cornerRect, 90, -90); ++ ++ // Check if border size is "no borders" or "no side-borders" ++ if (borderSize(true) == 0) { ++ outlinePath.lineTo(outlineRect.bottomRight()); ++ outlinePath.lineTo(outlineRect.bottomLeft()); ++ } else { ++ cornerRect.moveBottomRight(outlineRect.bottomRight()); ++ outlinePath.arcTo(cornerRect, 0, -90); ++ cornerRect.moveBottomLeft(outlineRect.bottomLeft()); ++ outlinePath.arcTo(cornerRect, 270, -90); ++ } ++ outlinePath.closeSubpath(); + +- painter.setPen(QPen(outlineColor, outlineWidth)); +- painter.setBrush(Qt::NoBrush); +- painter.setCompositionMode(QPainter::CompositionMode_Source); +- painter.setRenderHint(QPainter::Antialiasing); +- painter.drawPath(outlinePath); ++ painter.setPen(QPen(outlineColor, outlineWidth)); ++ painter.setBrush(Qt::NoBrush); ++ painter.setCompositionMode(QPainter::CompositionMode_Source); ++ painter.setRenderHint(QPainter::Antialiasing); ++ painter.drawPath(outlinePath); ++ } + + painter.end(); + +diff --git a/kdecoration/breezedecoration.h b/kdecoration/breezedecoration.h +index 826e396d8..0cb7864d9 100644 +--- a/kdecoration/breezedecoration.h ++++ b/kdecoration/breezedecoration.h +@@ -131,6 +131,8 @@ private: + qreal m_opacity = 0; + qreal m_shadowOpacity = 0; + ++ int m_outlineIntensity = 170; ++ + //*frame corner radius, scaled according to DPI + qreal m_scaledCornerRadius = 3; + +-- +GitLab + + +From 31a801b59d7cb33a4c1d944ee0ab49637f5c7dc0 Mon Sep 17 00:00:00 2001 +From: Akseli Lahtinen <akselmo@akselmo.dev> +Date: Sun, 26 Feb 2023 20:08:52 +0200 +Subject: [PATCH 2/7] add outline intensity setting + +--- + kdecoration/breezedecoration.cpp | 5 ++-- + kdecoration/breezedecoration.h | 2 -- + kdecoration/breezesettingsdata.kcfg | 6 +++++ + kdecoration/config/breezeconfigwidget.cpp | 6 +++++ + .../config/ui/breezeconfigurationui.ui | 25 ++++++++++++++++++- + 5 files changed, 39 insertions(+), 5 deletions(-) + +diff --git a/kdecoration/breezedecoration.cpp b/kdecoration/breezedecoration.cpp +index 699221b79..d6ae873e5 100644 +--- a/kdecoration/breezedecoration.cpp ++++ b/kdecoration/breezedecoration.cpp +@@ -743,7 +743,8 @@ void Decoration::updateShadow() + outlineColor.hslSaturationF(), + qBound(0.1, outlineColor.lightnessF(), 1.0), + s->isAlphaChannelSupported() ? 0.9 : 1.0); +- outlineColor.lightnessF() >= 0.5 ? outlineColor = outlineColor.darker(m_outlineIntensity) : outlineColor = outlineColor.lighter(m_outlineIntensity); ++ outlineColor.lightnessF() >= 0.5 ? outlineColor = outlineColor.darker(m_internalSettings->outlineIntensity()) ++ : outlineColor = outlineColor.lighter(m_internalSettings->outlineIntensity()); + + // Animated case, no cached shadow object + if ((m_shadowAnimation->state() == QAbstractAnimation::Running) && (m_shadowOpacity != 0.0) && (m_shadowOpacity != 1.0)) { +@@ -821,7 +822,7 @@ QSharedPointer<KDecoration2::DecorationShadow> Decoration::createShadowObject(co + painter.drawRoundedRect(innerRect, m_scaledCornerRadius + 0.5, m_scaledCornerRadius + 0.5); + + // Draw window outline +- if (m_outlineIntensity > 0) { ++ if (m_internalSettings->outlineIntensity() > 0) { + const qreal outlineWidth = 1.001; + const qreal penOffset = outlineWidth / 2; + +diff --git a/kdecoration/breezedecoration.h b/kdecoration/breezedecoration.h +index 0cb7864d9..826e396d8 100644 +--- a/kdecoration/breezedecoration.h ++++ b/kdecoration/breezedecoration.h +@@ -131,8 +131,6 @@ private: + qreal m_opacity = 0; + qreal m_shadowOpacity = 0; + +- int m_outlineIntensity = 170; +- + //*frame corner radius, scaled according to DPI + qreal m_scaledCornerRadius = 3; + +diff --git a/kdecoration/breezesettingsdata.kcfg b/kdecoration/breezesettingsdata.kcfg +index f57f61fe4..616035f9e 100644 +--- a/kdecoration/breezesettingsdata.kcfg ++++ b/kdecoration/breezesettingsdata.kcfg +@@ -35,6 +35,12 @@ + <default>false</default> + </entry> + ++ <entry name="OutlineIntensity" type = "Int"> ++ <default>170</default> ++ <min>0</min> ++ <max>200</max> ++ </entry> ++ + </group> + + <group name="Windeco"> +diff --git a/kdecoration/config/breezeconfigwidget.cpp b/kdecoration/config/breezeconfigwidget.cpp +index f75e1b3b7..e1e0dd63a 100644 +--- a/kdecoration/config/breezeconfigwidget.cpp ++++ b/kdecoration/config/breezeconfigwidget.cpp +@@ -38,6 +38,7 @@ ConfigWidget::ConfigWidget(QWidget *parent, const QVariantList &args) + connect(m_ui.shadowSize, SIGNAL(currentIndexChanged(int)), SLOT(updateChanged())); + connect(m_ui.shadowStrength, SIGNAL(valueChanged(int)), SLOT(updateChanged())); + connect(m_ui.shadowColor, &KColorButton::changed, this, &ConfigWidget::updateChanged); ++ connect(m_ui.outlineIntensity, SIGNAL(valueChanged(int)), SLOT(updateChanged())); + + // track exception changes + connect(m_ui.exceptions, &ExceptionListWidget::changed, this, &ConfigWidget::updateChanged); +@@ -69,6 +70,7 @@ void ConfigWidget::load() + + m_ui.shadowStrength->setValue(qRound(qreal(m_internalSettings->shadowStrength() * 100) / 255)); + m_ui.shadowColor->setColor(m_internalSettings->shadowColor()); ++ m_ui.outlineIntensity->setValue(m_internalSettings->outlineIntensity()); + + // load exceptions + ExceptionList exceptions; +@@ -94,6 +96,7 @@ void ConfigWidget::save() + m_internalSettings->setShadowSize(m_ui.shadowSize->currentIndex()); + m_internalSettings->setShadowStrength(qRound(qreal(m_ui.shadowStrength->value() * 255) / 100)); + m_internalSettings->setShadowColor(m_ui.shadowColor->color()); ++ m_internalSettings->setOutlineIntensity(m_ui.outlineIntensity->value()); + + // save configuration + m_internalSettings->save(); +@@ -136,6 +139,7 @@ void ConfigWidget::defaults() + m_ui.shadowSize->setCurrentIndex(m_internalSettings->shadowSize()); + m_ui.shadowStrength->setValue(qRound(qreal(m_internalSettings->shadowStrength() * 100) / 255)); + m_ui.shadowColor->setColor(m_internalSettings->shadowColor()); ++ m_ui.outlineIntensity->setValue(m_internalSettings->outlineIntensity()); + } + + //_______________________________________________ +@@ -167,6 +171,8 @@ void ConfigWidget::updateChanged() + modified = true; + } else if (m_ui.shadowColor->color() != m_internalSettings->shadowColor()) { + modified = true; ++ } else if (m_ui.outlineIntensity->value() != m_internalSettings->outlineIntensity()) { ++ modified = true; + + // exceptions + } else if (m_ui.exceptions->isChanged()) { +diff --git a/kdecoration/config/ui/breezeconfigurationui.ui b/kdecoration/config/ui/breezeconfigurationui.ui +index f29e38c13..6d1f6a7b2 100644 +--- a/kdecoration/config/ui/breezeconfigurationui.ui ++++ b/kdecoration/config/ui/breezeconfigurationui.ui +@@ -290,7 +290,30 @@ + <item row="2" column="1"> + <widget class="KColorButton" name="shadowColor"/> + </item> +- <item row="3" column="0" colspan="3"> ++ <item row="3" column="0"> ++ <widget class="QLabel" name="label_6"> ++ <property name="text"> ++ <string comment="outline intensity">Outline intensity</string> ++ </property> ++ <property name="alignment"> ++ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> ++ </property> ++ <property name="buddy"> ++ <cstring>outlineIntensity</cstring> ++ </property> ++ </widget> ++ </item> ++ <item row="3" column="1"> ++ <widget class="QSpinBox" name="outlineIntensity"> ++ <property name="minimum"> ++ <number>0</number> ++ </property> ++ <property name="maximum"> ++ <number>200</number> ++ </property> ++ </widget> ++ </item> ++ <item row="4" column="0" colspan="3"> + <spacer name="verticalSpacer_3"> + <property name="orientation"> + <enum>Qt::Vertical</enum> +-- +GitLab + + +From 70ab16974547b351f50ef977afe05a37c28b289a Mon Sep 17 00:00:00 2001 +From: Akseli Lahtinen <akselmo@akselmo.dev> +Date: Wed, 1 Mar 2023 20:52:55 +0200 +Subject: [PATCH 3/7] Set outline intensity default to 100, add slider + +--- + kdecoration/breezedecoration.cpp | 2 +- + kdecoration/breezesettingsdata.kcfg | 2 +- + .../config/ui/breezeconfigurationui.ui | 21 ++++++++++++++++--- + 3 files changed, 20 insertions(+), 5 deletions(-) + +diff --git a/kdecoration/breezedecoration.cpp b/kdecoration/breezedecoration.cpp +index d6ae873e5..3e2b145d5 100644 +--- a/kdecoration/breezedecoration.cpp ++++ b/kdecoration/breezedecoration.cpp +@@ -822,7 +822,7 @@ QSharedPointer<KDecoration2::DecorationShadow> Decoration::createShadowObject(co + painter.drawRoundedRect(innerRect, m_scaledCornerRadius + 0.5, m_scaledCornerRadius + 0.5); + + // Draw window outline +- if (m_internalSettings->outlineIntensity() > 0) { ++ if (m_internalSettings->outlineIntensity() > 100) { + const qreal outlineWidth = 1.001; + const qreal penOffset = outlineWidth / 2; + +diff --git a/kdecoration/breezesettingsdata.kcfg b/kdecoration/breezesettingsdata.kcfg +index 616035f9e..88db8e643 100644 +--- a/kdecoration/breezesettingsdata.kcfg ++++ b/kdecoration/breezesettingsdata.kcfg +@@ -37,7 +37,7 @@ + + <entry name="OutlineIntensity" type = "Int"> + <default>170</default> +- <min>0</min> ++ <min>100</min> + <max>200</max> + </entry> + +diff --git a/kdecoration/config/ui/breezeconfigurationui.ui b/kdecoration/config/ui/breezeconfigurationui.ui +index 6d1f6a7b2..ef130a5cf 100644 +--- a/kdecoration/config/ui/breezeconfigurationui.ui ++++ b/kdecoration/config/ui/breezeconfigurationui.ui +@@ -293,7 +293,7 @@ + <item row="3" column="0"> + <widget class="QLabel" name="label_6"> + <property name="text"> +- <string comment="outline intensity">Outline intensity</string> ++ <string comment="outline intensity">Outline intensity:</string> + </property> + <property name="alignment"> + <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> +@@ -304,13 +304,28 @@ + </widget> + </item> + <item row="3" column="1"> +- <widget class="QSpinBox" name="outlineIntensity"> ++ <widget class="QSlider" name="outlineIntensity"> + <property name="minimum"> +- <number>0</number> ++ <number>100</number> + </property> + <property name="maximum"> + <number>200</number> + </property> ++ <property name="singleStep"> ++ <number>10</number> ++ </property> ++ <property name="pageStep"> ++ <number>10</number> ++ </property> ++ <property name="orientation"> ++ <enum>Qt::Horizontal</enum> ++ </property> ++ <property name="tickPosition"> ++ <enum>QSlider::TicksBelow</enum> ++ </property> ++ <property name="tickInterval"> ++ <number>10</number> ++ </property> + </widget> + </item> + <item row="4" column="0" colspan="3"> +-- +GitLab + + +From 4bf3cd06c2cc938d161c872bba76427ff993fd2d Mon Sep 17 00:00:00 2001 +From: Akseli Lahtinen <akselmo@akselmo.dev> +Date: Thu, 2 Mar 2023 12:59:49 +0200 +Subject: [PATCH 4/7] better intensity values + +--- + kdecoration/breezedecoration.cpp | 2 +- + kdecoration/breezesettingsdata.kcfg | 4 ++-- + kdecoration/config/ui/breezeconfigurationui.ui | 10 +++++----- + 3 files changed, 8 insertions(+), 8 deletions(-) + +diff --git a/kdecoration/breezedecoration.cpp b/kdecoration/breezedecoration.cpp +index 3e2b145d5..abc805e70 100644 +--- a/kdecoration/breezedecoration.cpp ++++ b/kdecoration/breezedecoration.cpp +@@ -822,7 +822,7 @@ QSharedPointer<KDecoration2::DecorationShadow> Decoration::createShadowObject(co + painter.drawRoundedRect(innerRect, m_scaledCornerRadius + 0.5, m_scaledCornerRadius + 0.5); + + // Draw window outline +- if (m_internalSettings->outlineIntensity() > 100) { ++ if (m_internalSettings->outlineIntensity() > 110) { + const qreal outlineWidth = 1.001; + const qreal penOffset = outlineWidth / 2; + +diff --git a/kdecoration/breezesettingsdata.kcfg b/kdecoration/breezesettingsdata.kcfg +index 88db8e643..1d3db8bd2 100644 +--- a/kdecoration/breezesettingsdata.kcfg ++++ b/kdecoration/breezesettingsdata.kcfg +@@ -37,8 +37,8 @@ + + <entry name="OutlineIntensity" type = "Int"> + <default>170</default> +- <min>100</min> +- <max>200</max> ++ <min>110</min> ++ <max>250</max> + </entry> + + </group> +diff --git a/kdecoration/config/ui/breezeconfigurationui.ui b/kdecoration/config/ui/breezeconfigurationui.ui +index ef130a5cf..3385c97e9 100644 +--- a/kdecoration/config/ui/breezeconfigurationui.ui ++++ b/kdecoration/config/ui/breezeconfigurationui.ui +@@ -306,16 +306,16 @@ + <item row="3" column="1"> + <widget class="QSlider" name="outlineIntensity"> + <property name="minimum"> +- <number>100</number> ++ <number>110</number> + </property> + <property name="maximum"> +- <number>200</number> ++ <number>250</number> + </property> + <property name="singleStep"> +- <number>10</number> ++ <number>20</number> + </property> + <property name="pageStep"> +- <number>10</number> ++ <number>20</number> + </property> + <property name="orientation"> + <enum>Qt::Horizontal</enum> +@@ -324,7 +324,7 @@ + <enum>QSlider::TicksBelow</enum> + </property> + <property name="tickInterval"> +- <number>10</number> ++ <number>20</number> + </property> + </widget> + </item> +-- +GitLab + + +From 0f31f23648463ce4c0aa9e90fb74deccff273bc3 Mon Sep 17 00:00:00 2001 +From: Akseli Lahtinen <akselmo@akselmo.dev> +Date: Thu, 2 Mar 2023 18:13:14 +0200 +Subject: [PATCH 5/7] change from slider to combobox + +--- + kdecoration/breezedecoration.cpp | 25 ++++++++-- + kdecoration/breezesettingsdata.kcfg | 14 ++++-- + kdecoration/config/breezeconfigwidget.cpp | 14 ++++-- + .../config/ui/breezeconfigurationui.ui | 48 ++++++++++--------- + 4 files changed, 67 insertions(+), 34 deletions(-) + +diff --git a/kdecoration/breezedecoration.cpp b/kdecoration/breezedecoration.cpp +index abc805e70..eb4a7d0ec 100644 +--- a/kdecoration/breezedecoration.cpp ++++ b/kdecoration/breezedecoration.cpp +@@ -111,6 +111,25 @@ inline CompositeShadowParams lookupShadowParams(int size) + return s_shadowParams[3]; + } + } ++ ++inline int lookupOutlineIntensity(int intensity) ++{ ++ switch (intensity) { ++ case Breeze::InternalSettings::OutlineOff: ++ return 100; ++ case Breeze::InternalSettings::OutlineLow: ++ return 130; ++ case Breeze::InternalSettings::OutlineMedium: ++ return 170; ++ case Breeze::InternalSettings::OutlineHigh: ++ return 210; ++ case Breeze::InternalSettings::OutlineMaximum: ++ return 250; ++ default: ++ // Fallback to the Medium intensity. ++ return 170; ++ } ++} + } + + namespace Breeze +@@ -743,8 +762,8 @@ void Decoration::updateShadow() + outlineColor.hslSaturationF(), + qBound(0.1, outlineColor.lightnessF(), 1.0), + s->isAlphaChannelSupported() ? 0.9 : 1.0); +- outlineColor.lightnessF() >= 0.5 ? outlineColor = outlineColor.darker(m_internalSettings->outlineIntensity()) +- : outlineColor = outlineColor.lighter(m_internalSettings->outlineIntensity()); ++ outlineColor.lightnessF() >= 0.5 ? outlineColor = outlineColor.darker(lookupOutlineIntensity(m_internalSettings->outlineIntensity())) ++ : outlineColor = outlineColor.lighter(lookupOutlineIntensity(m_internalSettings->outlineIntensity())); + + // Animated case, no cached shadow object + if ((m_shadowAnimation->state() == QAbstractAnimation::Running) && (m_shadowOpacity != 0.0) && (m_shadowOpacity != 1.0)) { +@@ -822,7 +841,7 @@ QSharedPointer<KDecoration2::DecorationShadow> Decoration::createShadowObject(co + painter.drawRoundedRect(innerRect, m_scaledCornerRadius + 0.5, m_scaledCornerRadius + 0.5); + + // Draw window outline +- if (m_internalSettings->outlineIntensity() > 110) { ++ if (lookupOutlineIntensity(m_internalSettings->outlineIntensity()) > 110) { + const qreal outlineWidth = 1.001; + const qreal penOffset = outlineWidth / 2; + +diff --git a/kdecoration/breezesettingsdata.kcfg b/kdecoration/breezesettingsdata.kcfg +index 1d3db8bd2..559983d79 100644 +--- a/kdecoration/breezesettingsdata.kcfg ++++ b/kdecoration/breezesettingsdata.kcfg +@@ -35,12 +35,16 @@ + <default>false</default> + </entry> + +- <entry name="OutlineIntensity" type = "Int"> +- <default>170</default> +- <min>110</min> +- <max>250</max> ++ <entry name="OutlineIntensity" type = "Enum"> ++ <choices> ++ <choice name="OutlineOff"/> ++ <choice name="OutlineLow"/> ++ <choice name="OutlineMedium"/> ++ <choice name="OutlineHigh"/> ++ <choice name="OutlineMaximum"/> ++ </choices> ++ <default>OutlineMedium</default> + </entry> +- + </group> + + <group name="Windeco"> +diff --git a/kdecoration/config/breezeconfigwidget.cpp b/kdecoration/config/breezeconfigwidget.cpp +index e1e0dd63a..d57c08463 100644 +--- a/kdecoration/config/breezeconfigwidget.cpp ++++ b/kdecoration/config/breezeconfigwidget.cpp +@@ -70,7 +70,13 @@ void ConfigWidget::load() + + m_ui.shadowStrength->setValue(qRound(qreal(m_internalSettings->shadowStrength() * 100) / 255)); + m_ui.shadowColor->setColor(m_internalSettings->shadowColor()); +- m_ui.outlineIntensity->setValue(m_internalSettings->outlineIntensity()); ++ ++ // load outline intensity ++ if (m_internalSettings->outlineIntensity() <= InternalSettings::OutlineMaximum) { ++ m_ui.outlineIntensity->setCurrentIndex(m_internalSettings->outlineIntensity()); ++ } else { ++ m_ui.outlineIntensity->setCurrentIndex(InternalSettings::OutlineMedium); ++ } + + // load exceptions + ExceptionList exceptions; +@@ -96,7 +102,7 @@ void ConfigWidget::save() + m_internalSettings->setShadowSize(m_ui.shadowSize->currentIndex()); + m_internalSettings->setShadowStrength(qRound(qreal(m_ui.shadowStrength->value() * 255) / 100)); + m_internalSettings->setShadowColor(m_ui.shadowColor->color()); +- m_internalSettings->setOutlineIntensity(m_ui.outlineIntensity->value()); ++ m_internalSettings->setOutlineIntensity(m_ui.outlineIntensity->currentIndex()); + + // save configuration + m_internalSettings->save(); +@@ -139,7 +145,7 @@ void ConfigWidget::defaults() + m_ui.shadowSize->setCurrentIndex(m_internalSettings->shadowSize()); + m_ui.shadowStrength->setValue(qRound(qreal(m_internalSettings->shadowStrength() * 100) / 255)); + m_ui.shadowColor->setColor(m_internalSettings->shadowColor()); +- m_ui.outlineIntensity->setValue(m_internalSettings->outlineIntensity()); ++ m_ui.outlineIntensity->setCurrentIndex(m_internalSettings->outlineIntensity()); + } + + //_______________________________________________ +@@ -171,7 +177,7 @@ void ConfigWidget::updateChanged() + modified = true; + } else if (m_ui.shadowColor->color() != m_internalSettings->shadowColor()) { + modified = true; +- } else if (m_ui.outlineIntensity->value() != m_internalSettings->outlineIntensity()) { ++ } else if (m_ui.outlineIntensity->currentIndex() != m_internalSettings->outlineIntensity()) { + modified = true; + + // exceptions +diff --git a/kdecoration/config/ui/breezeconfigurationui.ui b/kdecoration/config/ui/breezeconfigurationui.ui +index 3385c97e9..e0283c93a 100644 +--- a/kdecoration/config/ui/breezeconfigurationui.ui ++++ b/kdecoration/config/ui/breezeconfigurationui.ui +@@ -304,28 +304,32 @@ + </widget> + </item> + <item row="3" column="1"> +- <widget class="QSlider" name="outlineIntensity"> +- <property name="minimum"> +- <number>110</number> +- </property> +- <property name="maximum"> +- <number>250</number> +- </property> +- <property name="singleStep"> +- <number>20</number> +- </property> +- <property name="pageStep"> +- <number>20</number> +- </property> +- <property name="orientation"> +- <enum>Qt::Horizontal</enum> +- </property> +- <property name="tickPosition"> +- <enum>QSlider::TicksBelow</enum> +- </property> +- <property name="tickInterval"> +- <number>20</number> +- </property> ++ <widget class="QComboBox" name="outlineIntensity"> ++ <item> ++ <property name="text"> ++ <string comment="@item:inlistbox Outline intensity:">Off</string> ++ </property> ++ </item> ++ <item> ++ <property name="text"> ++ <string comment="@item:inlistbox Outline intensity:">Low</string> ++ </property> ++ </item> ++ <item> ++ <property name="text"> ++ <string comment="@item:inlistbox Outline intensity:">Medium</string> ++ </property> ++ </item> ++ <item> ++ <property name="text"> ++ <string comment="@item:inlistbox Outline intensity:">High</string> ++ </property> ++ </item> ++ <item> ++ <property name="text"> ++ <string comment="@item:inlistbox Outline intensity:">Maximum</string> ++ </property> ++ </item> + </widget> + </item> + <item row="4" column="0" colspan="3"> +-- +GitLab + + +From 2a41e807948af3cca43af814323f6d6e5295fb93 Mon Sep 17 00:00:00 2001 +From: Akseli Lahtinen <akselmo@akselmo.dev> +Date: Fri, 3 Mar 2023 00:49:14 +0200 +Subject: [PATCH 6/7] rename shadow tab to shadows and outline + +--- + kdecoration/config/ui/breezeconfigurationui.ui | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/kdecoration/config/ui/breezeconfigurationui.ui b/kdecoration/config/ui/breezeconfigurationui.ui +index e0283c93a..a760f7b71 100644 +--- a/kdecoration/config/ui/breezeconfigurationui.ui ++++ b/kdecoration/config/ui/breezeconfigurationui.ui +@@ -193,13 +193,13 @@ + </widget> + <widget class="QWidget" name="tab_4"> + <attribute name="title"> +- <string>Shadows</string> ++ <string>Shadows and Outline</string> + </attribute> + <layout class="QGridLayout" name="gridLayout"> + <item row="0" column="0"> + <widget class="QLabel" name="label"> + <property name="text"> +- <string>Si&ze:</string> ++ <string>Shadow size:</string> + </property> + <property name="alignment"> + <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> +@@ -241,7 +241,7 @@ + <item row="1" column="0"> + <widget class="QLabel" name="label_2"> + <property name="text"> +- <string comment="strength of the shadow (from transparent to opaque)">S&trength:</string> ++ <string comment="strength of the shadow (from transparent to opaque)">Shadow strength:</string> + </property> + <property name="alignment"> + <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> +@@ -280,7 +280,7 @@ + <item row="2" column="0"> + <widget class="QLabel" name="label_5"> + <property name="text"> +- <string>Color:</string> ++ <string>Shadow color:</string> + </property> + <property name="alignment"> + <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> +-- +GitLab + + +From d66927cb4994e91052f4e2441309e9354762d59c Mon Sep 17 00:00:00 2001 +From: Nate Graham <nate@kde.org> +Date: Fri, 3 Mar 2023 20:17:54 +0000 +Subject: [PATCH 7/7] change 110 to 100 + +--- + kdecoration/breezedecoration.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/kdecoration/breezedecoration.cpp b/kdecoration/breezedecoration.cpp +index eb4a7d0ec..410943f2a 100644 +--- a/kdecoration/breezedecoration.cpp ++++ b/kdecoration/breezedecoration.cpp +@@ -841,7 +841,7 @@ QSharedPointer<KDecoration2::DecorationShadow> Decoration::createShadowObject(co + painter.drawRoundedRect(innerRect, m_scaledCornerRadius + 0.5, m_scaledCornerRadius + 0.5); + + // Draw window outline +- if (lookupOutlineIntensity(m_internalSettings->outlineIntensity()) > 110) { ++ if (lookupOutlineIntensity(m_internalSettings->outlineIntensity()) > 100) { + const qreal outlineWidth = 1.001; + const qreal penOffset = outlineWidth / 2; + +-- +GitLab +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/kde-plasma/breeze/metadata.xml Thu Apr 27 11:00:03 2023 +0000 @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <use> + <flag name="patch_outline">makes window border outline configurable (Breeze MR 292)</flag> + </use> +</pkgmetadata>