From e53030ff73208598bf47622711638420de35917c Mon Sep 17 00:00:00 2001 From: Caio Oliveira Date: Sat, 20 Dec 2025 01:55:36 -0300 Subject: [PATCH] [tools] update-icons: update to changes on #3182 Signed-off-by: Caio Oliveira --- tools/update-icons.sh | 69 +++++++++++++++++++++++++++++++------------ 1 file changed, 50 insertions(+), 19 deletions(-) diff --git a/tools/update-icons.sh b/tools/update-icons.sh index 2e685fdd87..516a81c5aa 100755 --- a/tools/update-icons.sh +++ b/tools/update-icons.sh @@ -5,33 +5,64 @@ # Updates main icons for eden -#which png2icns || (which yay && yay libicns) || exit which magick || exit +which optipng || exit -EDEN_BASE_SVG="dist/icon_variations/base.svg" -#EDEN_SMALL_SVG="dist/icon_variations/base_small.svg" -EDEN_NAMED_SVG="dist/icon_variations/base_named.svg" +VARIATION=${VARIATION:-base} -magick -density 256x256 -background transparent $EDEN_BASE_SVG -define icon:auto-resize -colors 256 dist/eden.ico || exit -convert -density 256x256 -resize 256x256 -background transparent $EDEN_BASE_SVG dist/yuzu.bmp || exit +EDEN_BASE_SVG="dist/icon_variations/${VARIATION}.svg" +EDEN_NAMED_SVG="dist/icon_variations/${VARIATION}_named.svg" +ANDROID_BG_COLOR=$(cat "dist/icon_variations/${VARIATION}_bgcolor") + +[ -f "$EDEN_BASE_SVG" ] && [ -f "$EDEN_NAMED_SVG" ] || { echo "Error: missing SVG" >&2; exit; } + +# DraVee: 'VARIATION=newyear2025' needs a slight adjutment +#magick mogrify -roll -15-5 "$ANDROID_FG" + +# Desktop / Windows / Qt icons + +magick -density 256x256 -background transparent "$EDEN_BASE_SVG" -define icon:auto-resize -colors 256 dist/eden.ico || exit +magick -density 256x256 -background transparent "$EDEN_BASE_SVG" -resize 256x256 dist/yuzu.bmp || exit + +magick -size 256x256 -background transparent "$EDEN_BASE_SVG" dist/qt_themes/default/icons/256x256/eden.png || exit +magick -size 256x256 -background transparent "$EDEN_NAMED_SVG" dist/qt_themes/default/icons/256x256/eden_named.png || exit -magick -size 256x256 -background transparent $EDEN_BASE_SVG dist/qt_themes/default/icons/256x256/eden.png || exit -magick -size 256x256 -background transparent $EDEN_NAMED_SVG dist/qt_themes/default/icons/256x256/eden_named.png || exit magick dist/qt_themes/default/icons/256x256/eden.png -resize 256x256! dist/qt_themes/default/icons/256x256/eden.png || exit magick dist/qt_themes/default/icons/256x256/eden_named.png -resize 256x256! dist/qt_themes/default/icons/256x256/eden_named.png || exit -# Now do more fancy things (like composition) +optipng -o7 dist/qt_themes/default/icons/256x256/eden*.png + +# Android adaptive icon (API 26+) + +ANDROID_RES="src/android/app/src/main/res" +ANDROID_FG="$ANDROID_RES/drawable/ic_launcher_foreground.png" + +echo "${ANDROID_BG_COLOR}" > "$ANDROID_RES/values/colors.xml" + +magick -size 1080x1080 -background transparent "$EDEN_BASE_SVG" -gravity center -resize 660x660 -extent 1080x1080 "${ANDROID_FG}" || exit + +optipng -o7 "$ANDROID_FG" + +# Android legacy launcher icon (API <= 24) + +BASE_LEGACY="$ANDROID_RES/mipmap-xxxhdpi/ic_launcher.png" + +magick -size 512x512 xc:${ANDROID_BG_COLOR} "$ANDROID_FG" -gravity center -resize 384x384 -composite "$BASE_LEGACY" || exit + +magick "$BASE_LEGACY" -resize 192x192 "$ANDROID_RES/mipmap-xxhdpi/ic_launcher.png" +magick "$BASE_LEGACY" -resize 144x144 "$ANDROID_RES/mipmap-xhdpi/ic_launcher.png" +magick "$BASE_LEGACY" -resize 96x96 "$ANDROID_RES/mipmap-hdpi/ic_launcher.png" +magick "$BASE_LEGACY" -resize 72x72 "$ANDROID_RES/mipmap-mdpi/ic_launcher.png" + +optipng -o7 "$ANDROID_RES"/mipmap-*/ic_launcher.png + +# macOS + TMP_PNG="dist/eden-tmp.png" -magick -size 1024x1024 -background transparent $EDEN_BASE_SVG $TMP_PNG || exit -composite $TMP_PNG -gravity center -geometry 2048x2048+0+0 \ - src/android/app/src/main/res/drawable/ic_icon_bg_orig.png \ - src/android/app/src/main/res/drawable/ic_launcher.png || exit -magick src/android/app/src/main/res/drawable/ic_launcher.png -resize 512x512! src/android/app/src/main/res/drawable/ic_launcher.png || exit -optipng -o7 src/android/app/src/main/res/drawable/ic_launcher.png -optipng -o7 dist/qt_themes/default/icons/256x256/eden_named.png -optipng -o7 dist/qt_themes/default/icons/256x256/eden.png +magick -size 1024x1024 -background none "$EDEN_BASE_SVG" "$TMP_PNG" || exit -png2icns dist/eden.icns $TMP_PNG || echo 'non fatal' +png2icns dist/eden.icns "$TMP_PNG" || echo 'non fatal' cp dist/eden.icns dist/yuzu.icns -rm $TMP_PNG + +rm "$TMP_PNG"