Skip to content

Commit cf3a20f

Browse files
committed
fix: restore wallpaper asset flow and installer font coverage
Ensure wallpaper assets are copied and discoverable for Hyprland/Sway sessions and add missing Noto base/CJK fonts so installer translations render correctly on live media.
1 parent bbd5625 commit cf3a20f

4 files changed

Lines changed: 199 additions & 34 deletions

File tree

‎airootfs/root/customize_airootfs.d/03-apps.sh‎

Lines changed: 98 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1665,27 +1665,118 @@ restrict_wallpaper_desktop_to_sway() {
16651665
[[ -f "$desktop" ]] || continue
16661666

16671667
if grep -q '^OnlyShowIn=' "$desktop"; then
1668-
sed -i 's/^OnlyShowIn=.*/OnlyShowIn=Sway;/' "$desktop"
1668+
sed -i 's/^OnlyShowIn=.*/OnlyShowIn=Hyprland;Sway;/' "$desktop"
16691669
elif grep -q '^\[Desktop Entry\]' "$desktop"; then
1670-
sed -i '/^\[Desktop Entry\]/a OnlyShowIn=Sway;' "$desktop"
1670+
sed -i '/^\[Desktop Entry\]/a OnlyShowIn=Hyprland;Sway;' "$desktop"
16711671
fi
16721672

1673-
echo " → Restricted $(basename "$desktop") to Sway"
1673+
echo " → Enabled $(basename "$desktop") for Hyprland/Sway"
16741674
done
16751675
}
16761676

16771677
setup_wallpaper_assets() {
16781678
local wallpaper_dir="${INSTALL_DIR}/mados_wallpaper"
1679-
1679+
local wallpapers_subdir="${wallpaper_dir}/wallpapers"
1680+
local icon_source="${wallpaper_dir}/mados-wallpaper.svg"
1681+
local nullglob_was_set=0
1682+
local source
1683+
local target
1684+
local assets=()
1685+
local has_assets=false
1686+
local targets=(
1687+
"/usr/share/mados/wallpapers"
1688+
"/usr/share/backgrounds"
1689+
"/etc/skel/.local/share/mados/wallpapers"
1690+
"/etc/skel/Pictures/Wallpapers"
1691+
)
1692+
16801693
if [[ ! -d "$wallpaper_dir" ]]; then
16811694
return 0
16821695
fi
1683-
1684-
if [[ -f "$wallpaper_dir/mados-wallpaper.svg" ]]; then
1696+
1697+
echo "Setting up wallpaper assets..."
1698+
1699+
if [[ -f "$icon_source" ]]; then
16851700
mkdir -p /usr/share/icons/hicolor/scalable/apps
1686-
cp "$wallpaper_dir/mados-wallpaper.svg" /usr/share/icons/hicolor/scalable/apps/
1701+
cp "$icon_source" /usr/share/icons/hicolor/scalable/apps/
1702+
fi
1703+
1704+
for target in "${targets[@]}"; do
1705+
mkdir -p "$target"
1706+
done
1707+
1708+
if shopt -q nullglob; then
1709+
nullglob_was_set=1
1710+
else
1711+
shopt -s nullglob
1712+
fi
1713+
1714+
for source in "$wallpapers_subdir" "$wallpaper_dir"; do
1715+
[[ -d "$source" ]] || continue
1716+
1717+
assets=(
1718+
"$source"/*.png
1719+
"$source"/*.jpg
1720+
"$source"/*.jpeg
1721+
"$source"/*.webp
1722+
"$source"/*.bmp
1723+
"$source"/*.tif
1724+
"$source"/*.tiff
1725+
)
1726+
1727+
if (( ${#assets[@]} == 0 )); then
1728+
continue
1729+
fi
1730+
1731+
has_assets=true
1732+
cp "${assets[@]}" /usr/share/mados/wallpapers/ 2>/dev/null || true
1733+
cp "${assets[@]}" /usr/share/backgrounds/ 2>/dev/null || true
1734+
cp "${assets[@]}" /etc/skel/.local/share/mados/wallpapers/ 2>/dev/null || true
1735+
cp "${assets[@]}" /etc/skel/Pictures/Wallpapers/ 2>/dev/null || true
1736+
done
1737+
1738+
if [[ $nullglob_was_set -eq 0 ]]; then
1739+
shopt -u nullglob
1740+
fi
1741+
1742+
if [[ "$has_assets" == false ]]; then
1743+
echo " → No wallpaper image assets found in ${wallpaper_dir}"
1744+
return 0
1745+
fi
1746+
1747+
if [[ -d /home/mados ]]; then
1748+
mkdir -p /home/mados/.local/share/mados/wallpapers /home/mados/Pictures/Wallpapers
1749+
1750+
if shopt -q nullglob; then
1751+
nullglob_was_set=1
1752+
else
1753+
nullglob_was_set=0
1754+
shopt -s nullglob
1755+
fi
1756+
1757+
assets=(
1758+
/usr/share/mados/wallpapers/*.png
1759+
/usr/share/mados/wallpapers/*.jpg
1760+
/usr/share/mados/wallpapers/*.jpeg
1761+
/usr/share/mados/wallpapers/*.webp
1762+
/usr/share/mados/wallpapers/*.bmp
1763+
/usr/share/mados/wallpapers/*.tif
1764+
/usr/share/mados/wallpapers/*.tiff
1765+
)
1766+
1767+
if (( ${#assets[@]} > 0 )); then
1768+
cp "${assets[@]}" /home/mados/.local/share/mados/wallpapers/ 2>/dev/null || true
1769+
cp "${assets[@]}" /home/mados/Pictures/Wallpapers/ 2>/dev/null || true
1770+
fi
1771+
1772+
if [[ $nullglob_was_set -eq 0 ]]; then
1773+
shopt -u nullglob
1774+
fi
1775+
1776+
chown -R 1000:1000 /home/mados/.local/share/mados /home/mados/Pictures
16871777
fi
16881778

1779+
echo "✓ Wallpaper assets configured"
16891780
}
16901781

16911782
IMPERATIVE_DOTS_REPO="madkoding/theme-imperative-dots"

‎airootfs/root/customize_airootfs.d/04-cleanup.sh‎

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -166,12 +166,25 @@ trim_icon_themes_runtime() {
166166
dedupe_wallpaper_assets() {
167167
echo "Deduplicating wallpaper assets..."
168168

169-
local canonical_dir="/opt/mados/mados_wallpaper/wallpapers"
169+
local canonical_candidates=(
170+
"/opt/mados/mados_wallpaper/wallpapers"
171+
"/usr/share/mados/wallpapers"
172+
"/opt/mados/mados_wallpaper"
173+
)
174+
local canonical_dir=""
175+
local candidate
170176
local backgrounds_dir="/usr/share/backgrounds"
171177
local skel_mados_dir="/etc/skel/.local/share/mados"
172178
local skel_wallpapers_dir="${skel_mados_dir}/wallpapers"
173179

174-
if [[ ! -d "$canonical_dir" ]]; then
180+
for candidate in "${canonical_candidates[@]}"; do
181+
if [[ -d "$candidate" ]]; then
182+
canonical_dir="$candidate"
183+
break
184+
fi
185+
done
186+
187+
if [[ -z "$canonical_dir" ]]; then
175188
echo " → Canonical wallpaper dir not found, skipping dedupe"
176189
return 0
177190
fi

‎airootfs/root/customize_airootfs.d/13-wallpaper-assets.sh‎

Lines changed: 84 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -5,45 +5,104 @@ source /root/customize_airootfs.d/03-lib.sh
55

66
setup_wallpaper_assets() {
77
local wallpaper_dir="${INSTALL_DIR}/mados_wallpaper"
8+
local wallpapers_subdir="${wallpaper_dir}/wallpapers"
9+
local icon_source="${wallpaper_dir}/mados-wallpaper.svg"
10+
local nullglob_was_set=0
11+
local source
12+
local target
13+
local assets=()
14+
local has_assets=false
15+
local targets=(
16+
"/usr/share/mados/wallpapers"
17+
"/usr/share/backgrounds"
18+
"/etc/skel/.local/share/mados/wallpapers"
19+
"/etc/skel/Pictures/Wallpapers"
20+
)
821

922
if [[ ! -d "$wallpaper_dir" ]]; then
1023
return 0
1124
fi
1225

1326
echo "Setting up wallpaper assets..."
1427

15-
if [[ -f "$wallpaper_dir/mados-wallpaper.svg" ]]; then
28+
if [[ -f "$icon_source" ]]; then
1629
mkdir -p /usr/share/icons/hicolor/scalable/apps
17-
cp "$wallpaper_dir/mados-wallpaper.svg" /usr/share/icons/hicolor/scalable/apps/
30+
cp "$icon_source" /usr/share/icons/hicolor/scalable/apps/
1831
fi
1932

20-
mkdir -p /etc/skel/.local/share/mados/wallpapers
21-
mkdir -p /etc/skel/Pictures/Wallpapers
22-
mkdir -p /usr/share/mados/wallpapers
23-
mkdir -p /usr/share/backgrounds
24-
25-
cp "$wallpaper_dir"/*.png /etc/skel/.local/share/mados/wallpapers/ 2>/dev/null || true
26-
cp "$wallpaper_dir"/*.jpg /etc/skel/.local/share/mados/wallpapers/ 2>/dev/null || true
27-
cp "$wallpaper_dir"/*.jpeg /etc/skel/.local/share/mados/wallpapers/ 2>/dev/null || true
28-
cp "$wallpaper_dir"/*.png /etc/skel/Pictures/Wallpapers/ 2>/dev/null || true
29-
cp "$wallpaper_dir"/*.jpg /etc/skel/Pictures/Wallpapers/ 2>/dev/null || true
30-
cp "$wallpaper_dir"/*.jpeg /etc/skel/Pictures/Wallpapers/ 2>/dev/null || true
31-
cp "$wallpaper_dir"/*.png /usr/share/mados/wallpapers/ 2>/dev/null || true
32-
cp "$wallpaper_dir"/*.jpg /usr/share/mados/wallpapers/ 2>/dev/null || true
33-
cp "$wallpaper_dir"/*.jpeg /usr/share/mados/wallpapers/ 2>/dev/null || true
34-
cp "$wallpaper_dir"/*.png /usr/share/backgrounds/ 2>/dev/null || true
35-
cp "$wallpaper_dir"/*.jpg /usr/share/backgrounds/ 2>/dev/null || true
36-
cp "$wallpaper_dir"/*.jpeg /usr/share/backgrounds/ 2>/dev/null || true
33+
for target in "${targets[@]}"; do
34+
mkdir -p "$target"
35+
done
36+
37+
if shopt -q nullglob; then
38+
nullglob_was_set=1
39+
else
40+
shopt -s nullglob
41+
fi
42+
43+
for source in "$wallpapers_subdir" "$wallpaper_dir"; do
44+
[[ -d "$source" ]] || continue
45+
46+
assets=(
47+
"$source"/*.png
48+
"$source"/*.jpg
49+
"$source"/*.jpeg
50+
"$source"/*.webp
51+
"$source"/*.bmp
52+
"$source"/*.tif
53+
"$source"/*.tiff
54+
)
55+
56+
if (( ${#assets[@]} == 0 )); then
57+
continue
58+
fi
59+
60+
has_assets=true
61+
cp "${assets[@]}" /etc/skel/.local/share/mados/wallpapers/ 2>/dev/null || true
62+
cp "${assets[@]}" /etc/skel/Pictures/Wallpapers/ 2>/dev/null || true
63+
cp "${assets[@]}" /usr/share/mados/wallpapers/ 2>/dev/null || true
64+
cp "${assets[@]}" /usr/share/backgrounds/ 2>/dev/null || true
65+
done
66+
67+
if [[ $nullglob_was_set -eq 0 ]]; then
68+
shopt -u nullglob
69+
fi
70+
71+
if [[ "$has_assets" == false ]]; then
72+
echo " → No wallpaper image assets found in ${wallpaper_dir}"
73+
return 0
74+
fi
3775

3876
if [[ -d /home/mados ]]; then
3977
mkdir -p /home/mados/.local/share/mados/wallpapers
4078
mkdir -p /home/mados/Pictures/Wallpapers
41-
cp "$wallpaper_dir"/*.png /home/mados/.local/share/mados/wallpapers/ 2>/dev/null || true
42-
cp "$wallpaper_dir"/*.jpg /home/mados/.local/share/mados/wallpapers/ 2>/dev/null || true
43-
cp "$wallpaper_dir"/*.jpeg /home/mados/.local/share/mados/wallpapers/ 2>/dev/null || true
44-
cp "$wallpaper_dir"/*.png /home/mados/Pictures/Wallpapers/ 2>/dev/null || true
45-
cp "$wallpaper_dir"/*.jpg /home/mados/Pictures/Wallpapers/ 2>/dev/null || true
46-
cp "$wallpaper_dir"/*.jpeg /home/mados/Pictures/Wallpapers/ 2>/dev/null || true
79+
80+
if shopt -q nullglob; then
81+
nullglob_was_set=1
82+
else
83+
nullglob_was_set=0
84+
shopt -s nullglob
85+
fi
86+
87+
assets=(
88+
/usr/share/mados/wallpapers/*.png
89+
/usr/share/mados/wallpapers/*.jpg
90+
/usr/share/mados/wallpapers/*.jpeg
91+
/usr/share/mados/wallpapers/*.webp
92+
/usr/share/mados/wallpapers/*.bmp
93+
/usr/share/mados/wallpapers/*.tif
94+
/usr/share/mados/wallpapers/*.tiff
95+
)
96+
97+
if (( ${#assets[@]} > 0 )); then
98+
cp "${assets[@]}" /home/mados/.local/share/mados/wallpapers/ 2>/dev/null || true
99+
cp "${assets[@]}" /home/mados/Pictures/Wallpapers/ 2>/dev/null || true
100+
fi
101+
102+
if [[ $nullglob_was_set -eq 0 ]]; then
103+
shopt -u nullglob
104+
fi
105+
47106
chown -R 1000:1000 /home/mados/.local/share/mados
48107
chown -R 1000:1000 /home/mados/Pictures
49108
fi

‎packages.x86_64‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,8 @@ libadwaita
8484
bc
8585
gst-plugin-gtk
8686
gtk-layer-shell
87+
noto-fonts
88+
noto-fonts-cjk
8789
noto-fonts-emoji
8890
gdk-pixbuf2
8991
xdg-desktop-portal-gtk

0 commit comments

Comments
 (0)