aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/pkgs/desktops/plasma-5/kde-gtk-config/0001-gsettings-schemas-path.patch
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/desktops/plasma-5/kde-gtk-config/0001-gsettings-schemas-path.patch')
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/kde-gtk-config/0001-gsettings-schemas-path.patch21
1 files changed, 21 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/desktops/plasma-5/kde-gtk-config/0001-gsettings-schemas-path.patch b/nixpkgs/pkgs/desktops/plasma-5/kde-gtk-config/0001-gsettings-schemas-path.patch
new file mode 100644
index 00000000000..2fe4672f675
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/plasma-5/kde-gtk-config/0001-gsettings-schemas-path.patch
@@ -0,0 +1,21 @@
+diff --git a/kded/gtkconfig.cpp b/kded/gtkconfig.cpp
+index 5303636..199c4d5 100644
+--- a/kded/gtkconfig.cpp
++++ b/kded/gtkconfig.cpp
+@@ -41,6 +41,16 @@ GtkConfig::GtkConfig(QObject *parent, const QVariantList&) :
+ kdeglobalsConfigWatcher(KConfigWatcher::create(KSharedConfig::openConfig(QStringLiteral("kdeglobals")))),
+ kwinConfigWatcher(KConfigWatcher::create(KSharedConfig::openConfig(QStringLiteral("kwinrc"))))
+ {
++ // Add GSETTINGS_SCHEMAS_PATH to the front of XDG_DATA_DIRS.
++ // Normally this would be done by wrapGAppsHook, but this plugin
++ // (shared object) cannot be wrapped.
++ QByteArray xdgdata = qgetenv("XDG_DATA_DIRS");
++ if (!xdgdata.isEmpty()) {
++ xdgdata.push_front(":");
++ }
++ xdgdata.push_front(QByteArray(GSETTINGS_SCHEMAS_PATH));
++ qputenv("XDG_DATA_DIRS", xdgdata);
++
+ QDBusConnection dbus = QDBusConnection::sessionBus();
+ dbus.registerService(QStringLiteral("org.kde.GtkConfig"));
+ dbus.registerObject(QStringLiteral("/GtkConfig"), this, QDBusConnection::ExportScriptableSlots);