Plasma 5.18.0, not yet final tars. Please publish disable KF5 before accepting.

OBS-URL: https://build.opensuse.org/package/show/KDE:Frameworks5/kde-gtk-config5?expand=0&rev=234
This commit is contained in:
Christophe Giboudeaux 2020-02-08 00:13:12 +00:00 committed by Git OBS Bridge
parent e0fc0f7bd6
commit 343a6641eb
7 changed files with 38 additions and 211 deletions

View File

@ -1,190 +0,0 @@
From 969b72c57c81cc5a9be549dd0d501c9e6d2129cb Mon Sep 17 00:00:00 2001
From: Mikhail Zolotukhin <zomial@protonmail.com>
Date: Mon, 27 Jan 2020 13:48:00 +0100
Subject: [PATCH] Upgrade theme to Breeze GTK on startup
Summary:
Also apply it, if the config is empty. This is a port of kconf_update
script from `breeze-gtk` repo, but this time it use gtkconfig kded
module methods to manipulate config (to avoid code duplication and to
write config to all possible configuration storages).
BUG: 416635
FIXED-IN: 5.18.0
Test Plan:
# Remove `gtk-theme-name=` line in `~/.gtkrc-2.0` file or change it to `BreezyGTK`, `Orion` or `oxygen-gtk`
# Run `gtk_theme` executable from `kconf_update` build directory. Line should appear/cahnge to `Breeze`
# Remove `gtk-theme-name=` line in `~/.config/gtk-3.0/settings.ini` file or change it to `BreezyGTK`, `Orion` or `oxygen-gtk`
# Run `gtk_theme` executable from `kconf_update` build directory. Line should appear/cahnge to `Breeze`, also it should be changed in dconf in `org.gnome.desktop.interface.gtk-theme` prefix and in `~/.config/xsettingsd/xsettingsd.conf` file (`Net/ThemeName "Breeze"` line)
Reviewers: fvogt
Subscribers: meven, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D26891
---
CMakeLists.txt | 1 +
kconf_update/CMakeLists.txt | 38 +++++++++++++++++++++++++
kconf_update/gtk_theme.upd | 3 ++
kconf_update/main.cpp | 56 +++++++++++++++++++++++++++++++++++++
kded/configeditor.cpp | 4 +--
5 files changed, 100 insertions(+), 2 deletions(-)
create mode 100644 kconf_update/CMakeLists.txt
create mode 100644 kconf_update/gtk_theme.upd
create mode 100644 kconf_update/main.cpp
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 54be644..72aa16f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -28,6 +28,7 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake kded/config.h)
add_subdirectory(gtkproxies)
add_subdirectory(gtk3proxies)
add_subdirectory(kded)
+add_subdirectory(kconf_update)
# add clang-format target for all our real source files
file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h)
diff --git a/kconf_update/CMakeLists.txt b/kconf_update/CMakeLists.txt
new file mode 100644
index 0000000..05a5490
--- /dev/null
+++ b/kconf_update/CMakeLists.txt
@@ -0,0 +1,38 @@
+add_executable(gtk_theme main.cpp)
+
+target_sources(gtk_theme
+ PRIVATE
+ ../kded/configeditor.cpp
+)
+
+target_link_libraries(gtk_theme
+ PRIVATE
+ Qt5::Core
+ KF5::ConfigCore
+ ${GIO2_LIBRARY}
+ ${GOBJECT2_LIBRARY}
+)
+
+target_include_directories(gtk_theme
+ PRIVATE
+ ../kded/
+ ${GTK3_INCLUDE_DIRS}
+)
+
+target_compile_definitions(gtk_theme
+ PRIVATE
+ QT_NO_SIGNALS_SLOTS_KEYWORDS
+)
+
+install(
+ TARGETS
+ gtk_theme
+ DESTINATION
+ ${LIB_INSTALL_DIR}/kconf_update_bin/
+)
+install(
+ FILES
+ gtk_theme.upd
+ DESTINATION
+ ${KCONF_UPDATE_INSTALL_DIR}
+)
diff --git a/kconf_update/gtk_theme.upd b/kconf_update/gtk_theme.upd
new file mode 100644
index 0000000..6214e77
--- /dev/null
+++ b/kconf_update/gtk_theme.upd
@@ -0,0 +1,3 @@
+Version=5
+Id=gtk_theme
+Script=gtk_theme
diff --git a/kconf_update/main.cpp b/kconf_update/main.cpp
new file mode 100644
index 0000000..bf9993c
--- /dev/null
+++ b/kconf_update/main.cpp
@@ -0,0 +1,56 @@
+/*
+ * Copyright (C) 2020 Mikhail Zolotukhin <zomial@protonmail.com>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License or (at your option) version 3 or any later version
+ * accepted by the membership of KDE e.V. (or its successor approved
+ * by the membership of KDE e.V.), which shall act as a proxy
+ * defined in Section 14 of version 3 of the license.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <QString>
+
+#include "configeditor.h"
+
+void upgradeGtk2Theme();
+void upgradeGtk3Theme();
+
+int main() {
+ upgradeGtk2Theme();
+ upgradeGtk3Theme();
+ return 0;
+}
+
+void upgradeGtk2Theme() {
+ QString currentGtk2Theme = ConfigEditor::gtk2ConfigValue(QStringLiteral("gtk-theme-name"));
+ if (currentGtk2Theme.isEmpty()
+ || currentGtk2Theme == QStringLiteral("oxygen-gtk")
+ || currentGtk2Theme == QStringLiteral("BreezyGTK")
+ || currentGtk2Theme == QStringLiteral("Orion")
+ ) {
+ ConfigEditor::setGtk2ConfigValue(QStringLiteral("gtk-theme-name"), QStringLiteral("Breeze"));
+ }
+}
+
+void upgradeGtk3Theme() {
+ QString currentGtk3Theme = ConfigEditor::gtk3ConfigValueSettingsIni(QStringLiteral("gtk-theme-name"));
+ if (currentGtk3Theme.isEmpty()
+ || currentGtk3Theme == QStringLiteral("oxygen-gtk")
+ || currentGtk3Theme == QStringLiteral("BreezyGTK")
+ || currentGtk3Theme == QStringLiteral("Orion")
+ ) {
+ ConfigEditor::setGtk3ConfigValueDconf(QStringLiteral("gtk-theme"), QStringLiteral("Breeze"));
+ ConfigEditor::setGtk3ConfigValueSettingsIni(QStringLiteral("gtk-theme-name"), QStringLiteral("Breeze"));
+ ConfigEditor::setGtk3ConfigValueXSettingsd(QStringLiteral("Net/ThemeName"), QStringLiteral("Breeze"));
+ }
+}
diff --git a/kded/configeditor.cpp b/kded/configeditor.cpp
index 244fe2c..3074f70 100644
--- a/kded/configeditor.cpp
+++ b/kded/configeditor.cpp
@@ -109,7 +109,7 @@ QString ConfigEditor::gtk2ConfigValue(const QString& paramName)
}
}
- return QStringLiteral("Breeze");
+ return QString();
}
QString ConfigEditor::gtk3ConfigValueSettingsIni(const QString& paramName)
@@ -120,7 +120,7 @@ QString ConfigEditor::gtk3ConfigValueSettingsIni(const QString& paramName)
KSharedConfig::Ptr gtk3Config = KSharedConfig::openConfig(gtk3ConfigPath, KConfig::NoGlobals);
KConfigGroup group = gtk3Config->group(QStringLiteral("Settings"));
- return group.readEntry(paramName, QStringLiteral("Breeze"));
+ return group.readEntry(paramName);
}
--
2.23.0

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2061f8b6851fb1d950f737e4ba68d898990a7140f92576a2d13578f39e6294b2
size 22920

View File

@ -1,11 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQEzBAABCgAdFiEELR1bBYg1d4fenuIl7JTRj38FmX4FAl4gU2EACgkQ7JTRj38F
mX7+Qgf+Jps7ogh3gK/j53GpD8IXOOQgLOPTQ4Bo1fAxX38QnhHbW83pvXV2Yf8f
Iom6z771mwC/bJacncSe9Vd8Fa3Jo5iyqoPte9Xl/8wVCFH+GPoRLG1Du2M4MIt5
sVwtjX/s3p5crEaTx7h6hSw0jZSzMRqgJGkZS2rI7h4xxIC/S+sV/J2uh9loQO8/
NKo1eFCVeATg4njTKyTR4BD78iTRSzgAU3/wi81FyyprI015rLrq5N78Q40pCFU1
7bo4q7RJmdNCgf1bsWRdB7oH3hwbiy6rOqf0QkGNKTgU9jf+pjKdJn6UWcSL27Hb
UE8yz5xA+1fSAfTc1pQNkCzB/cB6ng==
=YX2R
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3be3c38e1b90063b8f62bd182a67e456588aa05fd1c9f773c75fd16f5f09e8a1
size 23644

View File

@ -0,0 +1,11 @@
-----BEGIN PGP SIGNATURE-----
iQEzBAABCgAdFiEELR1bBYg1d4fenuIl7JTRj38FmX4FAl48D1YACgkQ7JTRj38F
mX5rYQf9G7qUPiPxPTmgXT1/A8h6j4p+6h0XRGTk+JaUiGwDbkDBpBO78ViNQwLg
xLInnFSysbwM+ODr66xMKu2qeLHf/Uzli0qp6kzf+1CF4P9NY6eSksk6Qj5ayJvC
r5Jaqyzu6tn09rKZyZWuuCT4/RQaygR+yipiXBCEcbbNu9apsmLfT039kbs5845C
dOSrX4vS0sI8gnV5DbyL0ZtesZQ9Xiwu25HxlP1jyjdEsXxX16bh+vjzRyNZrthb
si1CZk3a8WmGgSC8SChj3ZnB7FGC05/1zi7UoCFxzEzzH4i4cbOXoEX+myugnhYI
fe1cwhqFO1C5ir8n4pg6sMhc6GvmCw==
=QX7P
-----END PGP SIGNATURE-----

View File

@ -1,9 +1,28 @@
-------------------------------------------------------------------
Thu Feb 6 15:10:03 UTC 2020 - Fabian Vogt <fabian@ritter-vogt.de>
- Update to 5.18.0
* New bugfix release
* For more details please see:
* https://www.kde.org/announcements/plasma-5.18.0.php
- Changes since 5.17.90:
* Upgrade theme to Breeze GTK on startup (kde#416635)
* Correctly process font, that has multiple words in family name (kde#380980)
* Bind gtk-enable-animations setting to global animation speed slider
- Drop patches, now upstream:
* 0001-Upgrade-theme-to-Breeze-GTK-on-startup.patch
-------------------------------------------------------------------
Mon Jan 27 12:50:49 UTC 2020 - Fabian Vogt <fabian@ritter-vogt.de>
- Add patch to add kconf_update binary to set the initial config:
* 0001-Upgrade-theme-to-Breeze-GTK-on-startup.patch
-------------------------------------------------------------------
Thu Jan 23 11:19:56 UTC 2020 - Christophe Giboudeaux <christophe@krop.fr>
- Replace %make_jobs with %cmake_build
-------------------------------------------------------------------
Sat Jan 18 17:15:44 UTC 2020 - Fabian Vogt <fabian@ritter-vogt.de>

View File

@ -18,19 +18,17 @@
%bcond_without lang
Name: kde-gtk-config5
Version: 5.17.90
Version: 5.18.0
Release: 0
Summary: Daemon for GTK2 and GTK3 Applications Appearance Under KDE
License: LGPL-3.0-or-later AND GPL-3.0-or-later
Group: System/GUI/KDE
Url: http://projects.kde.org/kde-gtk-config
Source: https://download.kde.org/unstable/plasma/%{version}/kde-gtk-config-%{version}.tar.xz
Source: kde-gtk-config-%{version}.tar.xz
%if %{with lang}
Source1: https://download.kde.org/unstable/plasma/%{version}/kde-gtk-config-%{version}.tar.xz.sig
Source1: kde-gtk-config-%{version}.tar.xz.sig
Source2: plasma.keyring
%endif
# PATCH-FIX-UPSTREAM
Patch1: 0001-Upgrade-theme-to-Breeze-GTK-on-startup.patch
BuildRequires: extra-cmake-modules >= 0.0.9
BuildRequires: kf5-filesystem
BuildRequires: xz
@ -81,7 +79,7 @@ the GTK3 application style from within the application style KCM
%build
%cmake_kf5 -d build
%make_jobs
%cmake_build
%install
%kf5_makeinstall -C build
@ -95,7 +93,7 @@ the GTK3 application style from within the application style KCM
%{_kf5_sharedir}/kcm-gtk-module/preview.ui
%dir %{_kf5_sharedir}/kconf_update/
%{_kf5_sharedir}/kconf_update/gtk_theme.upd
%{_kf5_sharedir}/kconf_update/gtkconfig.upd
%dir %{_kf5_libdir}/kconf_update_bin/
%{_kf5_libdir}/kconf_update_bin/gtk_theme