diff --git a/scripts/build-icons.sh b/scripts/build-icons.sh index d2c1791e6..7c64d22a3 100644 --- a/scripts/build-icons.sh +++ b/scripts/build-icons.sh @@ -10,8 +10,15 @@ # resources/icon.icns macOS bundle icon, built via iconutil # site/public/icon.png 512 site favicon + PWA icon # site/public/apple-touch-icon.png 180 +# src/web-client/public/icon.png 1024 web client favicon + manifest "any" +# src/web-client/public/icon-maskable.png 1024 manifest "maskable" +# src/web-client/public/apple-touch-icon.png 1024 iOS Home Screen # -# Requires rsvg-convert (brew install librsvg) and iconutil (macOS built-in). +# The last two are full-bleed: iOS and Android both apply their own mask, so +# they get a square filled edge to edge instead of the padded rounded rect. +# +# Requires rsvg-convert (brew install librsvg), magick (brew install imagemagick) +# and iconutil (macOS built-in). # This script does NOT touch electron-builder config — it only rewrites the # files that config already points at. set -euo pipefail @@ -19,11 +26,19 @@ set -euo pipefail cd "$(dirname "$0")/.." SRC=resources/icon.svg -for bin in rsvg-convert iconutil; do +for bin in rsvg-convert iconutil magick; do command -v "$bin" >/dev/null || { echo "missing $bin" >&2; exit 1; } done +# Flattening onto the same colour the rounded rect is filled with is what makes +# the corners disappear, so read it from the artwork rather than restating it. +BG=$(sed -n 's/.*]*fill="\([^"]*\)".*/\1/p' "$SRC" | head -1) + png() { rsvg-convert -w "$2" -h "$2" "$SRC" -o "$1"; echo " $1 ${2}x${2}"; } +png_fullbleed() { + rsvg-convert -w "$2" -h "$2" "$SRC" | magick - -background "$BG" -flatten "$1" + echo " $1 ${2}x${2} full-bleed" +} echo "app icons" png resources/icon.png 1024 @@ -44,4 +59,9 @@ echo "site icons" png site/public/icon.png 512 png site/public/apple-touch-icon.png 180 +echo "web client icons" +png src/web-client/public/icon.png 1024 +png_fullbleed src/web-client/public/icon-maskable.png 1024 +png_fullbleed src/web-client/public/apple-touch-icon.png 1024 + echo "done" diff --git a/src/web-client/public/apple-touch-icon.png b/src/web-client/public/apple-touch-icon.png index e07f35d7a..d5c5fa803 100644 Binary files a/src/web-client/public/apple-touch-icon.png and b/src/web-client/public/apple-touch-icon.png differ diff --git a/src/web-client/public/icon-maskable.png b/src/web-client/public/icon-maskable.png index 1024a70e6..d5c5fa803 100644 Binary files a/src/web-client/public/icon-maskable.png and b/src/web-client/public/icon-maskable.png differ diff --git a/src/web-client/public/icon.png b/src/web-client/public/icon.png index 711545446..9d5b1f8cb 100644 Binary files a/src/web-client/public/icon.png and b/src/web-client/public/icon.png differ