From 3c7b83c71e24357f10cfc8979d2944cc0065375f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alper=20=C3=87elik?= Date: Fri, 31 Mar 2023 23:13:17 +0300 Subject: [PATCH] plasma-desktop: fix opening orca screen reader settings from kde systemsettings and kcmshell5 in kcm_access kcm Update pkgs/desktops/plasma-5/plasma-desktop/default.nix Co-authored-by: Sandro --- .../plasma-5/plasma-desktop/default.nix | 19 ++++++++++++++++--- .../plasma-5/plasma-desktop/kcm-access.patch | 13 +++++++++++++ 2 files changed, 29 insertions(+), 3 deletions(-) create mode 100644 pkgs/desktops/plasma-5/plasma-desktop/kcm-access.patch diff --git a/pkgs/desktops/plasma-5/plasma-desktop/default.nix b/pkgs/desktops/plasma-5/plasma-desktop/default.nix index 5c71b38eaaf1..f4ab7969cfea 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 000000000000..89f6dd8b84f7 --- /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));