From a37e23c8caeff04f32ac0d98b6f53d5910d86a45 Mon Sep 17 00:00:00 2001 From: Alper Çelik Date: Wed, 12 Jul 2023 15:55:30 +0300 Subject: plasma-desktop: add missing gsettings schemas on kaccess this commit lets kaccess to read screen reader settings[1] using gsettings by adding required gsettings schemas dirs to the $XDG_DATA_DIRS this commit also refactors previus gsettings schemas fix of kcm_access for allowing reuse of wrapped gsettings between kaccess and kcm_access --- pkgs/desktops/plasma-5/plasma-desktop/default.nix | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) (limited to 'pkgs') diff --git a/pkgs/desktops/plasma-5/plasma-desktop/default.nix b/pkgs/desktops/plasma-5/plasma-desktop/default.nix index f4ab7969cfead..28dfa434f7b0a 100644 --- a/pkgs/desktops/plasma-5/plasma-desktop/default.nix +++ b/pkgs/desktops/plasma-5/plasma-desktop/default.nix @@ -58,7 +58,14 @@ , runCommandLocal , makeWrapper }: - +let + # run gsettings with desktop schemas for using in "kcm_access" kcm + # and in kaccess + gsettings-wrapper = runCommandLocal "gsettings-wrapper" { nativeBuildInputs = [ makeWrapper ]; } '' + mkdir -p $out/bin + makeWrapper ${glib}/bin/gsettings $out/bin/gsettings --prefix XDG_DATA_DIRS : ${gsettings-desktop-schemas.out}/share/gsettings-schemas/${gsettings-desktop-schemas.name} + ''; +in mkDerivation { pname = "plasma-desktop"; nativeBuildInputs = [ extra-cmake-modules kdoctools wayland-scanner ]; @@ -122,19 +129,16 @@ mkDerivation { ./kcm-access.patch ]; 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}\"'' + ''-DNIXPKGS_GSETTINGS=\"${gsettings-wrapper}/bin/gsettings\"'' ]; postInstall = '' # Display ~/Desktop contents on the desktop by default. sed -i "''${!outputBin}/share/plasma/shells/org.kde.plasma.desktop/contents/defaults" \ -e 's/Containment=org.kde.desktopcontainment/Containment=org.kde.plasma.folder/' ''; + + # wrap kaccess with wrapped gsettings so it can access accessibility schemas + qtWrapperArgs = [ "--prefix PATH : ${lib.makeBinPath [ gsettings-wrapper ]}" ]; } -- cgit 1.4.1