about summary refs log tree commit diff
path: root/pkgs/desktops/plasma-5
diff options
context:
space:
mode:
authorK900 <me@0upti.me>2023-04-14 08:57:13 +0300
committerGitHub <noreply@github.com>2023-04-14 08:57:13 +0300
commit5d67039b901247a4c4fb312094c45e3149cd94c9 (patch)
tree43f1a4bebae7769d5748b187e771950165e26faa /pkgs/desktops/plasma-5
parent65702964b39bcf6d5c6b5b898b7d73e08b94b13f (diff)
parent3c7b83c71e24357f10cfc8979d2944cc0065375f (diff)
Merge pull request #219498 from Alper-Celik/master
plasma-desktop: fix opening orca screen reader settings from kde systemsettings and kcmshell5 in kcm_access kcm
Diffstat (limited to 'pkgs/desktops/plasma-5')
-rw-r--r--pkgs/desktops/plasma-5/plasma-desktop/default.nix19
-rw-r--r--pkgs/desktops/plasma-5/plasma-desktop/kcm-access.patch13
2 files changed, 29 insertions, 3 deletions
diff --git a/pkgs/desktops/plasma-5/plasma-desktop/default.nix b/pkgs/desktops/plasma-5/plasma-desktop/default.nix
index 5c71b38eaaf12..f4ab7969cfead 100644
--- a/pkgs/desktops/plasma-5/plasma-desktop/default.nix
+++ b/pkgs/desktops/plasma-5/plasma-desktop/default.nix
@@ -53,6 +53,10 @@
 , plasma-workspace
 , qqc2-desktop-style
 , xf86inputlibinput
+, glib
+, gsettings-desktop-schemas
+, runCommandLocal
+, makeWrapper
 }:
 
 mkDerivation {
@@ -115,10 +119,19 @@ mkDerivation {
   patches = [
     ./hwclock-path.patch
     ./tzdir.patch
+    ./kcm-access.patch
   ];
-  CXXFLAGS = [
-    ''-DNIXPKGS_HWCLOCK=\"${lib.getBin util-linux}/sbin/hwclock\"''
-  ];
+  CXXFLAGS =
+    let
+      # run gsettings with desktop schemas for using in kcm_accces kcm
+      gsettings-wrapper = runCommandLocal "gsettings-wrapper" { nativeBuildInputs = [ makeWrapper ]; } ''
+        makeWrapper ${glib}/bin/gsettings $out --prefix XDG_DATA_DIRS : ${gsettings-desktop-schemas.out}/share/gsettings-schemas/${gsettings-desktop-schemas.name}
+      '';
+    in
+    [
+      ''-DNIXPKGS_HWCLOCK=\"${lib.getBin util-linux}/bin/hwclock\"''
+      ''-DNIXPKGS_GSETTINGS=\"${gsettings-wrapper}\"''
+    ];
   postInstall = ''
     # Display ~/Desktop contents on the desktop by default.
     sed -i "''${!outputBin}/share/plasma/shells/org.kde.plasma.desktop/contents/defaults" \
diff --git a/pkgs/desktops/plasma-5/plasma-desktop/kcm-access.patch b/pkgs/desktops/plasma-5/plasma-desktop/kcm-access.patch
new file mode 100644
index 0000000000000..89f6dd8b84f76
--- /dev/null
+++ b/pkgs/desktops/plasma-5/plasma-desktop/kcm-access.patch
@@ -0,0 +1,13 @@
+diff --git a/kcms/access/kcmaccess.cpp b/kcms/access/kcmaccess.cpp
+index 4f8d3e2..a96f755 100644
+--- a/kcms/access/kcmaccess.cpp
++++ b/kcms/access/kcmaccess.cpp
+@@ -176,7 +176,7 @@ void KAccessConfig::launchOrcaConfiguration()
+                                       QStringLiteral("screen-reader-enabled"),
+                                       QStringLiteral("true")};
+ 
+-    int ret = QProcess::execute(QStringLiteral("gsettings"), gsettingArgs);
++    int ret = QProcess::execute(QStringLiteral(NIXPKGS_GSETTINGS), gsettingArgs);
+     if (ret) {
+         const QString errorStr = QLatin1String("gsettings ") + gsettingArgs.join(QLatin1Char(' '));
+         setOrcaLaunchFeedback(i18n("Could not set gsettings for Orca: \"%1\" failed", errorStr));