SonicDE hard fork and upgrade to 6.7
This commit is contained in:
parent
49c8c3d2ce
commit
ca95bace9a
167 changed files with 16629 additions and 419 deletions
50
sonic-breeze/a74ad95349ec913f1042f5390dbd95a8341aea06.patch
Normal file
50
sonic-breeze/a74ad95349ec913f1042f5390dbd95a8341aea06.patch
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
From a74ad95349ec913f1042f5390dbd95a8341aea06 Mon Sep 17 00:00:00 2001
|
||||
From: Akseli Lahtinen <akselmo@akselmo.dev>
|
||||
Date: Fri, 14 Aug 2026 23:20:58 +0300
|
||||
Subject: [PATCH] Use font metrics to only inset where the text can spare it
|
||||
|
||||
Applying the inset from aba0f922b unconditionally causes eliding in some
|
||||
cases. Check the font metrics instead and take the inset only from items
|
||||
that have the width to spare.
|
||||
|
||||
BUG: 523118
|
||||
|
||||
|
||||
(cherry picked from commit f0b1d7534aa2356d7336241d0c7051522e8a6b68)
|
||||
|
||||
Co-authored-by: Allen Hewes <rallenh@hotmail.com>
|
||||
---
|
||||
kstyle/breezestyle.cpp | 17 +++++++++++++++--
|
||||
1 file changed, 15 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/kstyle/breezestyle.cpp b/kstyle/breezestyle.cpp
|
||||
index 3a9096524..f0d4dfe45 100644
|
||||
--- a/kstyle/breezestyle.cpp
|
||||
+++ b/kstyle/breezestyle.cpp
|
||||
@@ -1062,8 +1062,21 @@ QRect Style::subElementRect(SubElement element, const QStyleOption *option, cons
|
||||
QRect rect = ParentStyleClass::subElementRect(element, option, widget);
|
||||
if (viewItem) {
|
||||
const QMargins margins = _helper->itemViewItemMargins(viewItem);
|
||||
- rect.setRight(rect.right() - margins.right() - Metrics::ItemView_ItemPaddingWidth);
|
||||
- rect.setLeft(rect.left() + margins.left() + Metrics::ItemView_ItemPaddingWidth);
|
||||
+ const int leftInset = margins.left() + Metrics::ItemView_ItemPaddingWidth;
|
||||
+ const int rightInset = margins.right() + Metrics::ItemView_ItemPaddingWidth;
|
||||
+
|
||||
+ // Use the font metrics to inset only as far as the text can spare,
|
||||
+ // so the inset itself cannot cause elision.
|
||||
+ const int textMargin = proxy()->pixelMetric(PM_FocusFrameHMargin, option, widget) + 1;
|
||||
+ const int available = rect.width() - 2 * textMargin; // viewItemDrawText() removes textMargin again
|
||||
+ const int required = viewItem->fontMetrics.horizontalAdvance(viewItem->text);
|
||||
+ const int inset = qBound(0, available - required, leftInset + rightInset);
|
||||
+
|
||||
+ // Shrink both sides in proportion so the text stays where it was.
|
||||
+ const int total = leftInset + rightInset;
|
||||
+ const int right = total > 0 ? inset * rightInset / total : 0;
|
||||
+ rect.setRight(rect.right() - right);
|
||||
+ rect.setLeft(rect.left() + (inset - right));
|
||||
rect.moveTop(rect.top() + margins.top() - margins.bottom());
|
||||
}
|
||||
|
||||
--
|
||||
GitLab
|
||||
|
||||
202
sonic-breeze/sonic-breeze.spec
Normal file
202
sonic-breeze/sonic-breeze.spec
Normal file
|
|
@ -0,0 +1,202 @@
|
|||
# Generated for SonicDE from Fedora's plasma-breeze.spec.
|
||||
# SonicDE is a hard fork of KDE Plasma; the sources come from the
|
||||
# https://github.com/Sonic-DE/sonic-breeze fork, not from download.kde.org.
|
||||
%define _disable_source_fetch 0
|
||||
%define debug_package %{nil}
|
||||
%global reponame sonic-breeze
|
||||
# Upstream KDE project: breeze
|
||||
%global oldname plasma-breeze
|
||||
|
||||
%global base_name breeze
|
||||
# EPEL10 does not have kf5
|
||||
%if 0%{?rhel} && 0%{?rhel} >= 10
|
||||
%bcond_with kf5
|
||||
%else
|
||||
%bcond_without kf5
|
||||
%endif
|
||||
|
||||
#Name: plasma-breeze
|
||||
Name: sonic-breeze
|
||||
Version: 6.7.4.3
|
||||
Release: 1%{?dist}
|
||||
Summary: Artwork, styles and assets for the Breeze visual style for the Plasma Desktop
|
||||
|
||||
License: BSD-3-Clause AND CC0-1.0 AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-only AND (GPL-2.0-only OR GPL-3.0-only) AND MIT
|
||||
#URL: https://invent.kde.org/plasma/%%{base_name}.git
|
||||
URL: https://github.com/Sonic-DE/%{reponame}
|
||||
#Source0: https://download.kde.org/%%{stable_kf6}/plasma/%%{version}/%%{base_name}-%%{version}.tar.xz
|
||||
Source0: %{url}/archive/refs/tags/%{version}.tar.gz#/%{reponame}-%{version}.tar.gz
|
||||
#Source1: https://download.kde.org/%%{stable_kf6}/plasma/%%{version}/%%{base_name}-%%{version}.tar.xz.sig
|
||||
|
||||
# Upstream Patches
|
||||
|
||||
# Use font metrics to only inset where the text can spare it
|
||||
# https://invent.kde.org/plasma/breeze/-/commit/a74ad95349ec913f1042f5390dbd95a8341aea06
|
||||
Patch0: a74ad95349ec913f1042f5390dbd95a8341aea06.patch
|
||||
|
||||
# Misc
|
||||
BuildRequires: sonic-frameworks-cmake-modules
|
||||
BuildRequires: gettext
|
||||
|
||||
%if %{with kf5}
|
||||
# Qt5
|
||||
BuildRequires: kf5-rpm-macros
|
||||
BuildRequires: cmake(KF5Config)
|
||||
BuildRequires: cmake(KF5CoreAddons)
|
||||
BuildRequires: cmake(KF5FrameworkIntegration)
|
||||
BuildRequires: cmake(KF5GuiAddons)
|
||||
BuildRequires: cmake(KF5Kirigami2)
|
||||
BuildRequires: cmake(KF5WindowSystem)
|
||||
|
||||
BuildRequires: cmake(Qt5DBus)
|
||||
BuildRequires: cmake(Qt5Quick)
|
||||
BuildRequires: cmake(Qt5Widgets)
|
||||
BuildRequires: cmake(Qt5X11Extras)
|
||||
|
||||
Requires: (%{name}-qt5 if qt5-qtbase-gui)
|
||||
%endif
|
||||
|
||||
# Qt6
|
||||
BuildRequires: sonic-rpm-macros
|
||||
BuildRequires: cmake(KDecoration3)
|
||||
BuildRequires: cmake(KF6ColorScheme)
|
||||
BuildRequires: cmake(KF6Config)
|
||||
BuildRequires: cmake(KF6CoreAddons)
|
||||
BuildRequires: cmake(KF6FrameworkIntegration)
|
||||
BuildRequires: cmake(KF6GuiAddons)
|
||||
BuildRequires: cmake(KF6I18n)
|
||||
BuildRequires: cmake(KF6KCMUtils)
|
||||
BuildRequires: cmake(KF6KirigamiPlatform)
|
||||
BuildRequires: cmake(KF6WindowSystem)
|
||||
|
||||
BuildRequires: cmake(Qt6Core)
|
||||
BuildRequires: cmake(Qt6DBus)
|
||||
BuildRequires: cmake(Qt6Quick)
|
||||
BuildRequires: cmake(Qt6Widgets)
|
||||
BuildRequires: cmake(Qt6Svg)
|
||||
|
||||
Requires: %{name}-qt6
|
||||
|
||||
# since we provide a cmake dev-like file
|
||||
Provides: %{name}-devel = %{version}-%{release}
|
||||
|
||||
Provides: plasma-breeze = %{version}-%{release}
|
||||
Conflicts: plasma-breeze < %{version}-%{release}
|
||||
|
||||
%description
|
||||
%{summary}.
|
||||
|
||||
|
||||
%package qt6
|
||||
Summary: Breeze application style for Qt6
|
||||
Requires: %{name}-common = %{version}-%{release}
|
||||
Provides: plasma-breeze-qt6 = %{version}-%{release}
|
||||
Conflicts: plasma-breeze-qt6 < %{version}-%{release}
|
||||
|
||||
%description qt6
|
||||
%{summary}.
|
||||
|
||||
%if %{with kf5}
|
||||
%package qt5
|
||||
Summary: Breeze application style for Qt5
|
||||
Requires: %{name}-common = %{version}-%{release}
|
||||
Provides: plasma-breeze-qt5 = %{version}-%{release}
|
||||
Conflicts: plasma-breeze-qt5 < %{version}-%{release}
|
||||
|
||||
%description qt5
|
||||
%{summary}.
|
||||
%endif
|
||||
|
||||
%package common
|
||||
Summary: Common files shared between Plasma 5 and Plasma 6 versions of the Breeze style
|
||||
BuildArch: noarch
|
||||
Provides: plasma-breeze-common = %{version}-%{release}
|
||||
Conflicts: plasma-breeze-common < %{version}-%{release}
|
||||
|
||||
%description common
|
||||
%{summary}.
|
||||
|
||||
%package -n breeze-cursor-theme
|
||||
Summary: Breeze cursor theme
|
||||
BuildArch: noarch
|
||||
Obsoletes: breeze-icon-theme < 5.17.0
|
||||
Provides: breeze-cursor-themes = %{version}-%{release}
|
||||
%description -n breeze-cursor-theme
|
||||
%{summary}.
|
||||
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n %{reponame}-%{version}
|
||||
|
||||
|
||||
%build
|
||||
mkdir -p qt6build
|
||||
pushd qt6build
|
||||
%cmake_kf6 -S .. -DBUILD_QT6=ON -DBUILD_QT5=OFF
|
||||
%cmake_build
|
||||
popd
|
||||
|
||||
%if %{with kf5}
|
||||
mkdir -p qt5build
|
||||
pushd qt5build
|
||||
%cmake_kf5 -S .. -DBUILD_QT6=OFF -DBUILD_QT5=ON
|
||||
%cmake_build
|
||||
popd
|
||||
%endif
|
||||
|
||||
|
||||
%install
|
||||
%if %{with kf5}
|
||||
pushd qt5build
|
||||
%cmake_install
|
||||
popd
|
||||
%endif
|
||||
|
||||
pushd qt6build
|
||||
%cmake_install
|
||||
popd
|
||||
|
||||
%find_lang breeze --all-name
|
||||
|
||||
|
||||
%files -f breeze.lang
|
||||
%license LICENSES/*.txt
|
||||
%{_bindir}/breeze-settings6
|
||||
%{_bindir}/kcursorgen
|
||||
%{_kf6_datadir}/applications/breezestyleconfig.desktop
|
||||
%{_kf6_datadir}/applications/kcm_breezedecoration.desktop
|
||||
%dir %{_kf6_qtplugindir}/kstyle_config/
|
||||
%{_kf6_qtplugindir}/kstyle_config/breezestyleconfig.so
|
||||
%{_kf6_qtplugindir}/org.kde.kdecoration3.kcm/kcm_breezedecoration.so
|
||||
%{_kf6_qtplugindir}/org.kde.kdecoration3/org.kde.breeze.so
|
||||
%{_libdir}/cmake/Breeze/
|
||||
|
||||
%if %{with kf5}
|
||||
%files qt5
|
||||
%{_kf5_qtplugindir}/styles/breeze5.so
|
||||
%endif
|
||||
|
||||
%files qt6
|
||||
%{_kf6_qtplugindir}/styles/breeze6.so
|
||||
|
||||
%files common
|
||||
%{_datadir}/color-schemes/*.colors
|
||||
%{_datadir}/kstyle/themes/breeze.themerc
|
||||
%{_datadir}/icons/hicolor/*/apps/breeze-settings.*
|
||||
%dir %{_datadir}/QtCurve/
|
||||
%{_datadir}/QtCurve/Breeze.qtcurve
|
||||
%{_datadir}/wallpapers/Next/
|
||||
|
||||
%files -n breeze-cursor-theme
|
||||
%dir %{_kf6_datadir}/icons/Breeze_Light/
|
||||
%{_kf6_datadir}/icons/Breeze_Light/cursors/
|
||||
%{_kf6_datadir}/icons/Breeze_Light/cursors_scalable/
|
||||
%{_kf6_datadir}/icons/Breeze_Light/index.theme
|
||||
%dir %{_kf6_datadir}/icons/breeze_cursors/
|
||||
%{_kf6_datadir}/icons/breeze_cursors/cursors/
|
||||
%{_kf6_datadir}/icons/breeze_cursors/cursors_scalable/
|
||||
%{_kf6_datadir}/icons/breeze_cursors/index.theme
|
||||
|
||||
%changelog
|
||||
* Mon Aug 24 2026 Anders da Silva Rytter Hansen <andersrh@users.noreply.github.com> - 6.7.4.3-1
|
||||
- SonicDE hard fork build for Enterprise Linux 10 and Fedora
|
||||
Loading…
Add table
Add a link
Reference in a new issue