Hello community, here is the log from the commit of package breeze-gtk for openSUSE:Leap:15.2 checked in at 2020-02-16 18:28:27 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Leap:15.2/breeze-gtk (Old) and /work/SRC/openSUSE:Leap:15.2/.breeze-gtk.new.26092 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "breeze-gtk" Sun Feb 16 18:28:27 2020 rev:75 rq:774569 version:5.18.0 Changes: -------- --- /work/SRC/openSUSE:Leap:15.2/breeze-gtk/breeze-gtk.changes 2020-01-30 14:51:38.874942273 +0100 +++ /work/SRC/openSUSE:Leap:15.2/.breeze-gtk.new.26092/breeze-gtk.changes 2020-02-16 18:29:23.958751889 +0100 @@ -1,0 +2,33 @@ +Thu Feb 6 15:10:03 UTC 2020 - Fabian Vogt <fab...@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: + * Drop kconf_update module, handled by kde-gtk-config now + +------------------------------------------------------------------- +Thu Feb 6 14:52:04 UTC 2020 - Fabian Vogt <fab...@ritter-vogt.de> + +- Use %cmake_build + +------------------------------------------------------------------- +Thu Jan 16 14:04:15 UTC 2020 - Fabian Vogt <fab...@ritter-vogt.de> + +- Update to 5.17.90 + * New feature release + * For more details please see: + * https://www.kde.org/announcements/plasma-5.17.90.php +- Changes since 5.17.5: + * [GTK3] Fix Chromium maximized maximize button + * [GTK3] Fix treeview hover colour (kde#414263) + * [GTK3] Improve Electron menubar legibility (kde#413915) + * Revert "[GTK3] Revert checkbox recolouring" + * [GTK3] Add styles for libhandy widgets + * Fix compatibility of build_theme.sh with Dash + * [GTK3] Fix menu bugs +- Drop patches, now upstream: + * 0001-Revert-GTK3-Revert-checkbox-recolouring.patch + +------------------------------------------------------------------- Old: ---- 0001-Revert-GTK3-Revert-checkbox-recolouring.patch breeze-gtk-5.17.5.tar.xz breeze-gtk-5.17.5.tar.xz.sig New: ---- breeze-gtk-5.18.0.tar.xz breeze-gtk-5.18.0.tar.xz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ breeze-gtk.spec ++++++ --- /var/tmp/diff_new_pack.nPVZHN/_old 2020-02-16 18:29:24.686752270 +0100 +++ /var/tmp/diff_new_pack.nPVZHN/_new 2020-02-16 18:29:24.690752273 +0100 @@ -19,28 +19,24 @@ %define _name breeze Name: breeze-gtk -Version: 5.17.5 +Version: 5.18.0 Release: 0 Summary: GTK+ theme matching KDE's Breeze License: LGPL-2.1-only Group: System/GUI/KDE URL: https://projects.kde.org/breeze-gtk -Source: https://download.kde.org/stable/plasma/%{version}/breeze-gtk-%{version}.tar.xz +Source: breeze-gtk-%{version}.tar.xz %if %{with lang} -Source1: https://download.kde.org/stable/plasma/%{version}/breeze-gtk-%{version}.tar.xz.sig +Source1: breeze-gtk-%{version}.tar.xz.sig Source2: plasma.keyring %endif -# PATCH-FIX-UPSTREAM (in master) -Patch1: 0001-Revert-GTK3-Revert-checkbox-recolouring.patch BuildRequires: breeze5-style BuildRequires: cmake >= 2.8.12 BuildRequires: extra-cmake-modules BuildRequires: fdupes -BuildRequires: gcc-c++ BuildRequires: kf5-filesystem BuildRequires: python3-cairo BuildRequires: sassc -BuildRequires: cmake(Qt5Core) %description A GTK+ theme created to match with the new Plasma 5 Breeze theme. @@ -85,7 +81,7 @@ %build %cmake_kf5 -make %{?_smp_mflags} +%cmake_build %install %kf5_makeinstall @@ -96,11 +92,7 @@ %doc README.md %{_datadir}/themes/Breeze*/ %exclude %{_datadir}/themes/Breeze*/gtk-*/ -%dir %{_kf5_sharedir}/kconf_update/ %dir %{_kf5_sharedir}/themes/Breeze*/assets/ -%{_kf5_sharedir}/kconf_update/*%{_name}* -%dir %{_kf5_libdir}/kconf_update_bin/ -%{_kf5_libdir}/kconf_update_bin/*%{_name}* %files -n gtk2-metatheme-%{_name} %{_datadir}/themes/Breeze*/gtk-2.0/ ++++++ breeze-gtk-5.17.5.tar.xz -> breeze-gtk-5.18.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/breeze-gtk-5.17.5/CMakeLists.txt new/breeze-gtk-5.18.0/CMakeLists.txt --- old/breeze-gtk-5.17.5/CMakeLists.txt 2020-01-07 16:18:22.000000000 +0100 +++ new/breeze-gtk-5.18.0/CMakeLists.txt 2020-02-06 14:01:42.000000000 +0100 @@ -1,5 +1,5 @@ project(breeze-gtk) -set(PROJECT_VERSION "5.17.5") +set(PROJECT_VERSION "5.18.0") set(PROJECT_VERSION_MAJOR 5) cmake_minimum_required(VERSION 2.8.12) @@ -18,7 +18,6 @@ include(KDEInstallDirs) -add_subdirectory(kconf_update) add_subdirectory(src) feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/breeze-gtk-5.17.5/kconf_update/CMakeLists.txt new/breeze-gtk-5.18.0/kconf_update/CMakeLists.txt --- old/breeze-gtk-5.17.5/kconf_update/CMakeLists.txt 2020-01-07 16:18:22.000000000 +0100 +++ new/breeze-gtk-5.18.0/kconf_update/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 @@ -1,9 +0,0 @@ -find_package(Qt5 REQUIRED COMPONENTS Core) -include(KDEInstallDirs) - -add_executable(gtkbreeze5.5 main.cpp) - -target_link_libraries(gtkbreeze5.5 Qt5::Core) - -install(TARGETS gtkbreeze5.5 DESTINATION ${LIB_INSTALL_DIR}/kconf_update_bin/) -install(FILES gtkbreeze5.5.upd DESTINATION ${KCONF_UPDATE_INSTALL_DIR}) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/breeze-gtk-5.17.5/kconf_update/gtkbreeze5.5.upd new/breeze-gtk-5.18.0/kconf_update/gtkbreeze5.5.upd --- old/breeze-gtk-5.17.5/kconf_update/gtkbreeze5.5.upd 2020-01-07 16:18:22.000000000 +0100 +++ new/breeze-gtk-5.18.0/kconf_update/gtkbreeze5.5.upd 1970-01-01 01:00:00.000000000 +0100 @@ -1,3 +0,0 @@ -Version=5 -Id=GTKBreeze5.5 -Script=gtkbreeze5.5 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/breeze-gtk-5.17.5/kconf_update/main.cpp new/breeze-gtk-5.18.0/kconf_update/main.cpp --- old/breeze-gtk-5.17.5/kconf_update/main.cpp 2020-01-07 16:18:22.000000000 +0100 +++ new/breeze-gtk-5.18.0/kconf_update/main.cpp 1970-01-01 01:00:00.000000000 +0100 @@ -1,204 +0,0 @@ -/* - Copyright 2014 Jonathan Riddell <jridd...@ubuntu.com> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library. If not, see <http://www.gnu.org/licenses/>. -*/ - -// Wee program to be run at login by kconf_update -// checks if gtk theme is set -// if not or if it is set to oxygen, update to new theme which matches breeze theme - -#include <QCoreApplication> -#include <QStandardPaths> -#include <QDebug> -#include <QFile> -#include <QLoggingCategory> -#include <QSettings> -#include <QDir> - -Q_DECLARE_LOGGING_CATEGORY(GTKBREEZE) -Q_LOGGING_CATEGORY(GTKBREEZE, "gtkbreeze") - -/* - * returns whether a GTK 3 theme with the given name is installed - * themeName: Name of gtk 3 theme - */ -static bool isGTK3ThemeInstalled(QString themeName) -{ - // Check that the theme contains a gtk-3.* subdirectory - QStringList gtk3SubdirPattern{QStringLiteral("gtk-3.*")}; - foreach (const QString& themesDir, QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, "themes", QStandardPaths::LocateDirectory)) { - QDir themeDir(themesDir + QDir::separator() + themeName); - if (!themeDir.entryList(gtk3SubdirPattern, QDir::Dirs).isEmpty()) { - return true; - } - } - return false; -} - -/* - * returns a path to the installed gtk if it can be found - * themeName: gtk theme - * settingsFile: a file installed with the theme to set default options - */ -static QString gtk2ThemePath(QString themeName, QString settingsFile) -{ - foreach (const QString& themesDir, QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, "themes", QStandardPaths::LocateDirectory)) { - if (QFile::exists(themesDir + QDir::separator() + themeName + QDir::separator() + settingsFile)) { - return themesDir + QDir::separator() + themeName; - } - } - return {}; -} - -/* - * Check if gtk theme is already set to oxygen, BreezyGTK or Orion, if it is then we want to upgrade to the breeze theme - * gtkSettingsFile: filename to use - * settingsKey: ini group to read from - * returns: full path to settings file - */ -bool isGtkThemeSetToOldTheme(QString gtkSettingsFile, QString settingsKey) -{ - QString home = QStandardPaths::standardLocations(QStandardPaths::HomeLocation).first(); - QString gtkSettingsPath; - if (!gtkSettingsFile.startsWith(home)) { - gtkSettingsPath = QStandardPaths::standardLocations(QStandardPaths::HomeLocation).first() + QDir::separator() + gtkSettingsFile; - } else { - gtkSettingsPath = gtkSettingsFile; - } - qCDebug(GTKBREEZE) << "looking for" << gtkSettingsPath; - if (QFile::exists(gtkSettingsPath)) { - qCDebug(GTKBREEZE) << "found settings file" << gtkSettingsPath; - QSettings gtkrcSettings(gtkSettingsPath, QSettings::IniFormat); - if (!settingsKey.isNull()) { - gtkrcSettings.beginGroup(settingsKey); - } - //if it is set to Oxygen, BreezyGTK or Orion then we want to upgrade it to Breeze - if (gtkrcSettings.value("gtk-theme-name") == QLatin1String("oxygen-gtk") - || gtkrcSettings.value("gtk-theme-name") == QLatin1String("BreezyGTK") - || gtkrcSettings.value("gtk-theme-name") == QLatin1String("Orion")) { - qCDebug(GTKBREEZE) << "using oxygen, BreezyGTK or orion " << gtkrcSettings.value("gtk-theme-name"); - return true; - } else { - return false; - } - } - //if it doesn't exist then we also want to upgrade it - return true; -} - -/* - * Set gtk2 theme if no theme is set or if oxygen is set and gtk theme is installed - */ -int setGtk2() -{ - const QString gtk2Theme = QStringLiteral("Breeze"); - const QString gtkrc2path = QStandardPaths::standardLocations(QStandardPaths::HomeLocation).first() + QDir::separator() + QStringLiteral(".gtkrc-2.0"); - const QString gtk2ThemeSettings = QStringLiteral("gtk-2.0/gtkrc"); // system installed file to check for - - const QString gtkThemeDirectory = gtk2ThemePath(gtk2Theme, gtk2ThemeSettings); - - if (gtkThemeDirectory.isEmpty()) { - qCDebug(GTKBREEZE) << "Breeze GTK 2 not found, quitting"; - return 0; - } - qCDebug(GTKBREEZE) << "found gtktheme: " << gtkThemeDirectory; - - bool needsUpdate = isGtkThemeSetToOldTheme(gtkrc2path, QString()); - if (needsUpdate == false) { - qCDebug(GTKBREEZE) << "gtkrc2 already exists and is not using oxygen, BreezyGTK or orion, quitting"; - return 0; - } - - qCDebug(GTKBREEZE) << "no gtkrc2 file or oxygen/BreezyGTK/orion being used, setting to new theme"; - QFile gtkrc2writer(gtkrc2path); - bool opened = gtkrc2writer.open(QIODevice::WriteOnly | QIODevice::Text); - if (!opened) { - qCWarning(GTKBREEZE) << "failed to open " << gtkrc2path; - return 1; - } - QTextStream out(>krc2writer); - out << QStringLiteral("include \"") << gtkThemeDirectory << QStringLiteral("/gtk-2.0/gtkrc\"\n"); - out << QStringLiteral("style \"user-font\"\n"); - out << QStringLiteral("{\n"); - out << QStringLiteral(" font_name=\"Noto Sans Regular\"\n"); - out << QStringLiteral("}\n"); - out << QStringLiteral("widget_class \"*\" style \"user-font\"\n"); - out << QStringLiteral("gtk-cursor-theme-name=\"breeze_cursors\"\n"); - out << QStringLiteral("gtk-font-name=\"Noto Sans Regular 10\"\n"); // matches plasma-workspace:startkde/startkde.cmake - out << QStringLiteral("gtk-theme-name=\"Breeze\"\n"); - out << QStringLiteral("gtk-icon-theme-name=\"breeze\"\n"); - out << QStringLiteral("gtk-fallback-icon-theme=\"gnome\"\n"); - out << QStringLiteral("gtk-toolbar-style=GTK_TOOLBAR_ICONS\n"); - out << QStringLiteral("gtk-menu-images=1\n"); - out << QStringLiteral("gtk-button-images=1\n"); - qCDebug(GTKBREEZE) << "gtk2rc written"; - return 0; -} - -/* - * Set gtk3 theme if no theme is set or if oxygen is set and gtk theme is installed - */ -int setGtk3() -{ - const QString gtk3Theme = QStringLiteral("Breeze"); - - if (!isGTK3ThemeInstalled(gtk3Theme)) { - qCDebug(GTKBREEZE) << "not found, quitting"; - return 0; - } - qCDebug(GTKBREEZE) << "found gtk3theme"; - QString configPath = QStandardPaths::writableLocation(QStandardPaths::ConfigLocation); - QString gtkrc3path = configPath + "/gtk-3.0/settings.ini"; - bool needsUpdate = isGtkThemeSetToOldTheme(gtkrc3path, "Settings"); - if ( !needsUpdate ) { - qCDebug(GTKBREEZE) << "gtkrc3 already exists and is not using oxygen/BreezyGTK/orion, quitting"; - return 0; - } - QDir dir = QFileInfo(gtkrc3path).dir(); - dir.mkpath(dir.path()); - - qCDebug(GTKBREEZE) << "no gtkrc3 file or oxygen/BreezyGTK/orion being used, setting to new theme"; - QFile gtkrc3writer(gtkrc3path); - bool opened = gtkrc3writer.open(QIODevice::WriteOnly | QIODevice::Text); - if (!opened) { - qCWarning(GTKBREEZE) << "failed to open " << gtkrc3path; - return 1; - } - QTextStream out(>krc3writer); - out << QStringLiteral("[Settings]\n"); - out << QStringLiteral("gtk-cursor-theme-name=breeze_cursors\n"); - out << QStringLiteral("gtk-font-name=Noto Sans 10\n"); // matches plasma-workspace:startkde/startkde.cmake - out << QStringLiteral("gtk-theme-name=")+gtk3Theme+QStringLiteral("\n"); - out << QStringLiteral("gtk-icon-theme-name=breeze\n"); - out << QStringLiteral("gtk-fallback-icon-theme=gnome\n"); - out << QStringLiteral("gtk-toolbar-style=GTK_TOOLBAR_ICONS\n"); - out << QStringLiteral("gtk-menu-images=1\n"); - out << QStringLiteral("gtk-button-images=1\n"); - out << QStringLiteral("gtk-primary-button-warps-slider=0\n"); - qCDebug(GTKBREEZE) << "gtk3rc written"; - - return 0; -} - -int main(/*int argc, char **argv*/) -{ - QString home = QStandardPaths::standardLocations(QStandardPaths::HomeLocation).first(); - int resultGTK2 = 0; - int resultGTK3 = 0; - resultGTK2 = setGtk2(); - resultGTK3 = setGtk3(); - - return resultGTK2 | resultGTK3; -} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/breeze-gtk-5.17.5/src/build_theme.sh new/breeze-gtk-5.18.0/src/build_theme.sh --- old/breeze-gtk-5.17.5/src/build_theme.sh 2020-01-07 16:18:22.000000000 +0100 +++ new/breeze-gtk-5.18.0/src/build_theme.sh 2020-02-06 14:01:42.000000000 +0100 @@ -108,5 +108,5 @@ fi render_theme "${COLOR_SCHEME}" "${THEME_NAME}" "${INSTALL_TARGET}" "${COLOR_SCHEME_ROOT}/Breeze.colors" -[[ -z "${INSTALL_TARGET}" ]] && INSTALL_TARGET="${HOME}/.local/share/themes/${THEME_NAME}" +[ -z "${INSTALL_TARGET}" ] && INSTALL_TARGET="${HOME}/.local/share/themes/${THEME_NAME}" cp -r assets/ "${INSTALL_TARGET}" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/breeze-gtk-5.17.5/src/gtk3/applications/_chromium.scss new/breeze-gtk-5.18.0/src/gtk3/applications/_chromium.scss --- old/breeze-gtk-5.17.5/src/gtk3/applications/_chromium.scss 2020-01-07 16:18:22.000000000 +0100 +++ new/breeze-gtk-5.18.0/src/gtk3/applications/_chromium.scss 2020-02-06 14:01:42.000000000 +0100 @@ -2,7 +2,7 @@ background-color: gtk("@theme_base_color"); border-color: gtk("@borders"); menubar, .menubar { - color: gtk("@theme_titlebar_foreground_backdrop"); + color: gtk("@theme_titlebar_foreground"); background-color: gtk("@theme_bg_color"); &:backdrop { background-color: gtk("@theme_unfocused_bg_color"); @@ -66,7 +66,7 @@ } } - .maximized & { + @at-root window.background.chromium.maximized headerbar, .maximized .titlebar { button.titlebutton { &.maximize { color: transparent; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/breeze-gtk-5.17.5/src/gtk3/gtk.scss new/breeze-gtk-5.18.0/src/gtk3/gtk.scss --- old/breeze-gtk-5.17.5/src/gtk3/gtk.scss 2020-01-07 16:18:22.000000000 +0100 +++ new/breeze-gtk-5.18.0/src/gtk3/gtk.scss 2020-02-06 14:01:42.000000000 +0100 @@ -33,6 +33,7 @@ @import "widgets/tooltips"; @import "widgets/treeview"; @import "widgets/window_decorations"; +@import "widgets/libhandy"; @import "applications/chromium"; @import "applications/firefox"; \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/breeze-gtk-5.17.5/src/gtk3/widgets/_checkboxes.scss new/breeze-gtk-5.18.0/src/gtk3/widgets/_checkboxes.scss --- old/breeze-gtk-5.17.5/src/gtk3/widgets/_checkboxes.scss 2020-01-07 16:18:22.000000000 +0100 +++ new/breeze-gtk-5.18.0/src/gtk3/widgets/_checkboxes.scss 2020-02-06 14:01:42.000000000 +0100 @@ -3,20 +3,6 @@ /************************* * Check and Radio items * *************************/ -@each $s,$as in ('','-unchecked'), - (':hover', '-unchecked-hover'), - (':active', '-unchecked-active'), - (':backdrop', '-unchecked-backdrop'), - (':checked', '-checked-active'), - (':checked:hover', '-checked-hover'), - (':checked:active', '-checked-active'), - (':backdrop:checked', '-checked-backdrop') { - .view.content-view.check#{$s}:not(list) { - -gtk-icon-shadow: none; - -gtk-icon-source: -gtk-scaled(url("../assets/check-selectionmode#{$as}.png"), url("../assets/check-selectionmode#{$as}@2.png")); - background-color: transparent; - } -} checkbutton.text-button, radiobutton.text-button { // this is for a nice focus on check and radios text @@ -32,53 +18,43 @@ } } -@each $a in ('check','radio') { +check, radio { + margin: 0 4px; - #{$a} { - margin: 0 4px; + &:only-child { margin: 0; } - &:only-child { margin: 0; } + min-height: 18px; + min-width: 18px; + //border: none; + animation: none; + background-color: transparent; + -gtk-icon-palette: error gtk("@theme_button_decoration_focus"), success gtk("@borders"), warning gtk("@theme_button_background_normal"); + -gtk-icon-shadow: 1px 1px rgba(35,38,41,0.2); - min-height: 18px; - min-width: 18px; - //border: none; - animation: none; - background-color: transparent; - -gtk-icon-source: -gtk-scaled(url("../assets/#{$a}-unchecked.png"), url("../assets/#{$a}-unchec...@2.png")); - - @each $s,$as in ('hover','-hover'), - ('active','-active'), - ('disabled','-insensitive'), - ('backdrop','-backdrop'), - ('backdrop:disabled','-backdrop-insensitive') { - &:#{$s} { -gtk-icon-source: -gtk-scaled(url("../assets/#{$a}-unchecked#{$as}.png"), url("../assets/#{$a}-unchecked#{$as}@2.png")); } - &:checked { - -gtk-icon-source: -gtk-scaled(url("../assets/#{$a}-checked-active.png"), url("../assets/#{$a}-checked-act...@2.png")); - &:#{$s} { -gtk-icon-source: -gtk-scaled(url("../assets/#{$a}-checked#{$as}.png"), url("../assets/#{$a}-checked#{$as}@2.png")); } - } - &:indeterminate { - -gtk-icon-source: -gtk-scaled(url("../assets/#{$a}-mixed-active.png"), url("../assets/#{$a}-mixed-act...@2.png")); - &:#{$s} { -gtk-icon-source: -gtk-scaled(url("../assets/#{$a}-mixed#{$as}.png"), url("../assets/#{$a}-mixed#{$as}@2.png")); } - } + &:hover { + -gtk-icon-palette: error gtk("@theme_button_decoration_focus"), success gtk("@theme_button_decoration_focus"), warning gtk("@theme_button_background_normal"); + } + &:disabled { + -gtk-icon-palette: error gtk("@theme_button_decoration_focus_insensitive"), success gtk("@insensitive_borders"), warning gtk("@theme_button_background_insensitive"); } - - menu menuitem & { - margin: 0; // this is a workaround for a menu check/radio size allocation issue - min-height: 18px; - min-width: 18px; - background-color: transparent; - box-shadow: none; - -gtk-icon-shadow: none; - animation: none; - &:hover { - -gtk-icon-source: -gtk-scaled(url("../assets/#{$a}-unchecked.png"), url("../assets/#{$a}-unchec...@2.png")); - } - &:checked:hover { - -gtk-icon-source: -gtk-scaled(url("../assets/#{$a}-checked-active.png"), url("../assets/#{$a}-checked-act...@2.png")); - } - &:indeterminate:hover { - -gtk-icon-source: -gtk-scaled(url("../assets/#{$a}-mixed-active.png"), url("../assets/#{$a}-mixed-act...@2.png")); - } - } + + menu menuitem & { + margin: 0; // this is a workaround for a menu check/radio size allocation issue + min-height: 18px; + min-width: 18px; + background-color: transparent; + box-shadow: none; + -gtk-icon-shadow: none; + animation: none; } -} \ No newline at end of file +} +@each $type in ('check', 'radio') { + #{$type} { + -gtk-icon-source: -gtk-recolor(url("../assets/breeze-#{$type}-unchecked-symbolic.svg")); + @each $state in ('checked', 'indeterminate') { + &:#{$state} { + -gtk-icon-source: -gtk-recolor(url("../assets/breeze-#{$type}-#{$state}-symbolic.svg")); + } + } + } +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/breeze-gtk-5.17.5/src/gtk3/widgets/_libhandy.scss new/breeze-gtk-5.18.0/src/gtk3/widgets/_libhandy.scss --- old/breeze-gtk-5.17.5/src/gtk3/widgets/_libhandy.scss 1970-01-01 01:00:00.000000000 +0100 +++ new/breeze-gtk-5.18.0/src/gtk3/widgets/_libhandy.scss 2020-02-06 14:01:42.000000000 +0100 @@ -0,0 +1,51 @@ +@charset "UTF-8"; + +hdydialer { + button { + font-weight: lighter; + background-color: transparent; + border: 0; + box-shadow: none; + &:backdrop { + background-color: transparent; + } + &:focus { + background-color: transparent; + border: none; + } + } +} +hdyviewswitcher { + > button { + border: 0; + background-color: transparent; + &:backdrop:hover, &:hover, &:active, &:hover:focus, &:active:focus, &:checked, &:checked:hover { + background-color: transparent; + } + &:checked, &:checked:backdrop { + border-top: 0; + border-left: 0; + border-right: 0; + background-color: transparent; + > stack { + border-bottom: 3px solid transparent; + border-top: 3px solid gtk("@theme_button_decoration_focus"); + } + } + &.needs-attention > stack > box label { + animation: needs_attention 150ms ease-in; + background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(gtk("@theme_button_decoration_focus")), to(transparent)); + background-size: 6px 6px, 6px 6px; + background-repeat: no-repeat; + background-position: right 0px, right 1px; + } + } +} +headerbar hdyviewswitcher > button:checked > stack { + &:backdrop { + border-top: 3px solid transparent; + border-bottom: 3px solid gtk("@theme_button_decoration_focus"); + } + border-top: 3px solid transparent; + border-bottom: 3px solid gtk("@theme_button_decoration_focus"); +} \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/breeze-gtk-5.17.5/src/gtk3/widgets/_menus.scss new/breeze-gtk-5.18.0/src/gtk3/widgets/_menus.scss --- old/breeze-gtk-5.17.5/src/gtk3/widgets/_menus.scss 2020-01-07 16:18:22.000000000 +0100 +++ new/breeze-gtk-5.18.0/src/gtk3/widgets/_menus.scss 2020-02-06 14:01:42.000000000 +0100 @@ -205,14 +205,27 @@ @extend %undecorated_button; color: gtk("@theme_unfocused_fg_color"); } - check:hover {-gtk-icon-source: -gtk-scaled(url("../assets/check-unchecked.png"), url("../assets/check-unchec...@2.png"));} - radio:hover {-gtk-icon-source: -gtk-scaled(url("../assets/radio-unchecked.png"), url("../assets/radio-unchec...@2.png"));} - - check:checked:hover {-gtk-icon-source: -gtk-scaled(url("../assets/check-checked-active.png"), url("../assets/check-checked-act...@2.png"));} - radio:checked:hover {-gtk-icon-source: -gtk-scaled(url("../assets/radio-checked-active.png"), url("../assets/radio-checked-act...@2.png"));} - - check:indeterminate:hover {-gtk-icon-source: -gtk-scaled(url("../assets/check-mixed.png"), url("../assets/check-mi...@2.png"));} - radio:indeterminate:hover {-gtk-icon-source: -gtk-scaled(url("../assets/radio-mixed.png"), url("../assets/radio-mi...@2.png"));} + check, radio { + -gtk-icon-palette: error gtk("@theme_button_decoration_focus"), success gtk("@borders"), warning gtk("@theme_button_background_normal"); + -gtk-icon-shadow: 1px 1px rgba(35,38,41,0.2); + + &:hover { + -gtk-icon-palette: error gtk("@theme_button_decoration_focus"), success gtk("@theme_button_decoration_focus"), warning gtk("@theme_button_background_normal"); + } + &:disabled { + -gtk-icon-palette: error gtk("@theme_button_decoration_focus_insensitive"), success gtk("@insensitive_borders"), warning gtk("@theme_button_background_insensitive"); + } + } + @each $type in ('check', 'radio') { + #{$type} { + -gtk-icon-source: -gtk-recolor(url("../assets/breeze-#{$type}-unchecked-symbolic.svg")); + @each $state in ('checked', 'indeterminate') { + &:#{$state} { + -gtk-icon-source: -gtk-recolor(url("../assets/breeze-#{$type}-#{$state}-symbolic.svg")); + } + } + } + } // FIXME: remove the following when the checks/radios rewrite lands check:last-child, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/breeze-gtk-5.17.5/src/gtk3/widgets/_treeview.scss new/breeze-gtk-5.18.0/src/gtk3/widgets/_treeview.scss --- old/breeze-gtk-5.17.5/src/gtk3/widgets/_treeview.scss 2020-01-07 16:18:22.000000000 +0100 +++ new/breeze-gtk-5.18.0/src/gtk3/widgets/_treeview.scss 2020-02-06 14:01:42.000000000 +0100 @@ -1,6 +1,18 @@ @charset "UTF-8"; -@mixin item-highlight-middle { +@mixin item-hover-middle { + @if $new-highlight { + background-color: gtk("@theme_selected_bg_color"); + border-left-color: gtk("@theme_selected_fg_color"); + border-top-color: gtk("@theme_selected_fg_color"); + } @else { + background-color: gtkalpha("@theme_selected_bg_color", 0.3); + border-left-color: gtk("@theme_fg_color"); + border-top-color: gtk("@theme_fg_color"); + } +} + +@mixin item-selected-middle { @if $new-highlight { background-color: gtkalpha(gtk("@theme_button_decoration_focus"), 0.3); color: gtk("@theme_button_foreground_active"); @@ -15,7 +27,7 @@ } } -@mixin item-highlight-middle-backdrop { +@mixin item-selected-middle-backdrop { @if $new-highlight { background-color: gtkalpha(gtk("@theme_button_decoration_focus_backdrop"), 0.3); color: gtk("@theme_button_foreground_active_backdrop"); @@ -48,15 +60,15 @@ &:selected { border-radius: 0; } // rest border radius in lists &:hover { - @include item-highlight-middle(); + @include item-hover-middle(); } &:selected { - @include item-highlight-middle(); + @include item-selected-middle(); } &:backdrop:selected { - @include item-highlight-middle-backdrop(); + @include item-selected-middle-backdrop(); } &:disabled {