This commit is contained in:
wheaney 2024-05-07 22:59:33 -07:00
parent 2f99b84ef2
commit 204ae71dd9
3 changed files with 52 additions and 3 deletions

View File

@ -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 "$@"

View File

@ -13,9 +13,10 @@
"--device=shm", "--device=shm",
"--talk-name=ca.desrt.dconf", "--talk-name=ca.desrt.dconf",
"--filesystem=xdg-run/dconf", "--filesystem=xdg-run/dconf",
"--filesystem=host:ro",
"--env=DCONF_USER_CONFIG_DIR=.config/dconf", "--env=DCONF_USER_CONFIG_DIR=.config/dconf",
"--env=GIO_EXTRA_MODULES=/app/lib/gio/modules/", "--env=GIO_EXTRA_MODULES=/app/lib/gio/modules/",
"--env=GSETTINGS_BACKEND=dconf" "--talk-name=org.freedesktop.Flatpak"
], ],
"cleanup" : [ "cleanup" : [
"/include", "/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", "name" : "breezydesktop",
"builddir" : true, "builddir" : true,
@ -62,7 +77,7 @@
"sources" : [ "sources" : [
{ {
"type" : "dir", "type" : "dir",
"source" : "./" "path" : "."
} }
] ]
} }

View File

@ -1,6 +1,6 @@
[Desktop Entry] [Desktop Entry]
Name=breezydesktop Name=breezydesktop
Exec=breezydesktop Exec=start-breezy-desktop
Icon=com.xronlinux.BreezyDesktop Icon=com.xronlinux.BreezyDesktop
Terminal=false Terminal=false
Type=Application Type=Application