26 lines
676 B
Bash
26 lines
676 B
Bash
#!/usr/bin/bash
|
|
|
|
IFS=: read -ra host_data_dirs < <(flatpak-spawn --host sh -c 'echo $XDG_DATA_DIRS')
|
|
|
|
# To avoid potentially muddying up $XDG_DATA_DIRS too much, we link the schema paths
|
|
# into a temporary directory.
|
|
bridge_dir=$XDG_RUNTIME_DIR/dconf-bridge
|
|
mkdir -p "$bridge_dir"
|
|
|
|
for dir in "${host_data_dirs[@]}"; do
|
|
if [[ "$dir" == /usr/* ]]; then
|
|
dir=/run/host/"$dir"
|
|
fi
|
|
|
|
schemas="$dir/glib-2.0/schemas"
|
|
if [[ -d "$schemas" ]]; then
|
|
bridged=$(mktemp -d XXXXXXXXXX -p "$bridge_dir")
|
|
mkdir -p "$bridged"/glib-2.0
|
|
ln -s "$schemas" "$bridged"/glib-2.0
|
|
XDG_DATA_DIRS=$XDG_DATA_DIRS:"$bridged"
|
|
fi
|
|
done
|
|
|
|
export XDG_DATA_DIRS
|
|
exec dconf-editor "$@"
|