diff --git a/pkgs/misc/themes/qtcurve/default.nix b/pkgs/misc/themes/qtcurve/default.nix index 78f2a594569..e63f6846002 100644 --- a/pkgs/misc/themes/qtcurve/default.nix +++ b/pkgs/misc/themes/qtcurve/default.nix @@ -23,7 +23,10 @@ stdenv.mkDerivation { xlibs.libxshmfence ]; - patches = [ ./qtcurve-1.8.18-install-paths.patch ]; + patches = [ + ./qtcurve-1.8.18-install-paths.patch + ./qtcurve-1.8.18-toolbar-alpha.patch + ]; cmakeFlags = '' -DENABLE_QT5=OFF diff --git a/pkgs/misc/themes/qtcurve/qtcurve-1.8.18-toolbar-alpha.patch b/pkgs/misc/themes/qtcurve/qtcurve-1.8.18-toolbar-alpha.patch new file mode 100644 index 00000000000..85400e6f0f6 --- /dev/null +++ b/pkgs/misc/themes/qtcurve/qtcurve-1.8.18-toolbar-alpha.patch @@ -0,0 +1,34 @@ +diff --git a/qt4/style/qtcurve.cpp b/qt4/style/qtcurve.cpp +index d7659f5..aede882 100644 +--- a/qt4/style/qtcurve.cpp ++++ b/qt4/style/qtcurve.cpp +@@ -12436,7 +12436,12 @@ Style::drawMenuOrToolBarBackground(const QWidget *widget, QPainter *p, + if (!qtcIsCustomBgnd(&opts) || !qtcIsFlat(app) || + (menu && SHADE_NONE != opts.shadeMenubars)) { + p->save(); ++#if 0 ++ // Revert for now ++ // This is necessary for correct opacity on the menubar but may ++ // break transparent gradient. + p->setCompositionMode(QPainter::CompositionMode_Source); ++#endif + QRect rx(r); + QColor col(menu && (option->state & State_Enabled || + SHADE_NONE != opts.shadeMenubars) ? +diff --git a/qt5/style/qtcurve.cpp b/qt5/style/qtcurve.cpp +index c43b8a3..135eddc 100644 +--- a/qt5/style/qtcurve.cpp ++++ b/qt5/style/qtcurve.cpp +@@ -3398,7 +3398,12 @@ Style::drawMenuOrToolBarBackground(const QWidget *widget, QPainter *p, + if (!qtcIsCustomBgnd(&opts) || !qtcIsFlat(app) || + (menu && opts.shadeMenubars != SHADE_NONE)) { + p->save(); ++#if 0 ++ // Revert for now ++ // This is necessary for correct opacity on the menubar but may ++ // break transparent gradient. + p->setCompositionMode(QPainter::CompositionMode_Source); ++#endif + QRect rx(r); + QColor col(menu && (option->state & State_Enabled || + opts.shadeMenubars != SHADE_NONE) ?