about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/tools/misc/qt5ct/default.nix5
-rw-r--r--pkgs/tools/misc/qt5ct/wayland.patch22
2 files changed, 27 insertions, 0 deletions
diff --git a/pkgs/tools/misc/qt5ct/default.nix b/pkgs/tools/misc/qt5ct/default.nix
index 9069821fe354c..fbb56b98be77b 100644
--- a/pkgs/tools/misc/qt5ct/default.nix
+++ b/pkgs/tools/misc/qt5ct/default.nix
@@ -15,6 +15,11 @@ mkDerivation rec {
 
   buildInputs = [ qtbase ];
 
+  # Wayland needs to know the desktop file name in order to show the app name and icon.
+  # Patch has been upstreamed and can be removed in the future.
+  # See: https://sourceforge.net/p/qt5ct/code/549/
+  patches = [ ./wayland.patch ];
+
   qmakeFlags = [
     "LRELEASE_EXECUTABLE=${getDev qttools}/bin/lrelease"
   ];
diff --git a/pkgs/tools/misc/qt5ct/wayland.patch b/pkgs/tools/misc/qt5ct/wayland.patch
new file mode 100644
index 0000000000000..fe186cfa4692d
--- /dev/null
+++ b/pkgs/tools/misc/qt5ct/wayland.patch
@@ -0,0 +1,22 @@
+--- a/src/qt5ct/main.cpp
++++ b/src/qt5ct/main.cpp
+@@ -29,14 +29,18 @@
+ #include <QApplication>
+ #include <QLibraryInfo>
+ #include <QLocale>
+-#include "qt5ct.h"
++#include <QtGlobal>
+ #include <QTranslator>
+ #include <QtDebug>
++#include "qt5ct.h"
+ #include "mainwindow.h"
+ 
+ int main(int argc, char **argv)
+ {
+     QApplication app(argc, argv);
++#if (QT_VERSION >= QT_VERSION_CHECK(5, 7, 0))
++    QGuiApplication::setDesktopFileName("qt5ct.desktop");
++#endif
+     QTranslator translator;
+     QString locale = Qt5CT::systemLanguageID();
+     translator.load(QString(":/qt5ct_") + locale);
\ No newline at end of file