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
This commit is contained in:
Alper Çelik 2023-07-12 15:55:30 +03:00
parent 3c7487575d
commit a37e23c8ca
No known key found for this signature in database
GPG key ID: FA90C0AB738AB873

View file

@ -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 ]}" ];
}