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",
|
"--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" : "."
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue