blob: 964dfd66e9e7cd036e504f5378969b199cdc0742 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
#!/bin/bash
# Ensure that we prioritize using the private font cache
# SPDX-License-Identifier: GPL-2.0-or-later
# ensure_dir_exists calls `mkdir -p` if the given path is not a directory.
# This speeds up execution time by avoiding unnecessary calls to mkdir.
#
# Usage: ensure_dir_exists <path> [<mkdir-options>]...
function ensure_dir_exists() {
[ -d "$1" ] || mkdir -p "$@"
}
# Set $REALHOME to the users real home directory
REALHOME=$(getent passwd $UID | cut -d ':' -f 6)
# Set config folder to local path
export XDG_CONFIG_HOME="$SNAP_USER_DATA/.config"
ensure_dir_exists "$XDG_CONFIG_HOME"
chmod 700 "$XDG_CONFIG_HOME"
function make_user_fontconfig {
echo "<fontconfig>"
echo " <dir>$REALHOME/.local/share/fonts</dir>"
echo " <dir>$REALHOME/.fonts</dir>"
echo " <cachedir prefix=\"xdg\">fontconfig</cachedir>"
echo " <cachedir>$SNAP_DATA/fontconfig</cachedir>"
echo " <include ignore_missing=\"yes\">/etc/fonts/fonts.conf</include>"
if [ ! -z $SNAP_DESTKOP_RUNTIME ]; then
echo " <include ignore_missing=\"yes\">${SNAP_DESKTOP_RUNTIME}/etc/fonts/fonts.conf</include>"
fi
echo "</fontconfig>"
}
ensure_dir_exists "$XDG_CONFIG_HOME/fontconfig"
make_user_fontconfig > "$XDG_CONFIG_HOME/fontconfig/fonts.conf"
export FONTCONFIG_FILE=${XDG_CONFIG_HOME}/fontconfig/fonts.conf
exec "$@"
|