Maybe...
This commit is contained in:
parent
2f99b84ef2
commit
204ae71dd9
|
|
@ -0,0 +1,34 @@
|
|||
#!/usr/bin/env 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"
|
||||
|
||||
HOST_XDG_DATA_DIRS=""
|
||||
|
||||
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
|
||||
HOST_XDG_DATA_DIRS="${HOST_XDG_DATA_DIRS}:${bridged}"
|
||||
fi
|
||||
done
|
||||
|
||||
# We MUST prepend the host's data dirs BEFORE the Flatpak environment's own dirs,
|
||||
# otherwise data (such as default values) load in the wrong order and would then
|
||||
# incorrectly prefer the Flatpak's internal defaults instead of the host's defaults!
|
||||
if [[ ! -z "${HOST_XDG_DATA_DIRS}" ]]; then
|
||||
XDG_DATA_DIRS="${HOST_XDG_DATA_DIRS:1}:${XDG_DATA_DIRS}"
|
||||
fi
|
||||
|
||||
export XDG_DATA_DIRS
|
||||
exec breezydesktop "$@"
|
||||
|
|
@ -13,9 +13,10 @@
|
|||
"--device=shm",
|
||||
"--talk-name=ca.desrt.dconf",
|
||||
"--filesystem=xdg-run/dconf",
|
||||
"--filesystem=host:ro",
|
||||
"--env=DCONF_USER_CONFIG_DIR=.config/dconf",
|
||||
"--env=GIO_EXTRA_MODULES=/app/lib/gio/modules/",
|
||||
"--env=GSETTINGS_BACKEND=dconf"
|
||||
"--talk-name=org.freedesktop.Flatpak"
|
||||
],
|
||||
"cleanup" : [
|
||||
"/include",
|
||||
|
|
@ -55,6 +56,20 @@
|
|||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "scripts",
|
||||
"buildsystem": "simple",
|
||||
"build-commands": [
|
||||
"install -Dm 755 start-breezy-desktop.sh /app/bin/start-breezy-desktop"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "file",
|
||||
"path": "build-aux/start-breezy-desktop.sh"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
"name" : "breezydesktop",
|
||||
"builddir" : true,
|
||||
|
|
@ -62,7 +77,7 @@
|
|||
"sources" : [
|
||||
{
|
||||
"type" : "dir",
|
||||
"source" : "./"
|
||||
"path" : "."
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
[Desktop Entry]
|
||||
Name=breezydesktop
|
||||
Exec=breezydesktop
|
||||
Exec=start-breezy-desktop
|
||||
Icon=com.xronlinux.BreezyDesktop
|
||||
Terminal=false
|
||||
Type=Application
|
||||
|
|
|
|||
Loading…
Reference in New Issue