diff --git a/electron/build/icon.icns b/electron/build/icon.icns index 55c03d96cd..d74e97e738 100644 Binary files a/electron/build/icon.icns and b/electron/build/icon.icns differ diff --git a/electron/build/icon.ico b/electron/build/icon.ico index 8b681ffba3..a1a73e6cfd 100644 Binary files a/electron/build/icon.ico and b/electron/build/icon.ico differ diff --git a/electron/build/icons/128x128.png b/electron/build/icons/128x128.png new file mode 100644 index 0000000000..54149b1ae2 Binary files /dev/null and b/electron/build/icons/128x128.png differ diff --git a/electron/build/icons/16x16.png b/electron/build/icons/16x16.png new file mode 100644 index 0000000000..def4ec5eee Binary files /dev/null and b/electron/build/icons/16x16.png differ diff --git a/electron/build/icons/24x24.png b/electron/build/icons/24x24.png new file mode 100644 index 0000000000..6fe144ea13 Binary files /dev/null and b/electron/build/icons/24x24.png differ diff --git a/electron/build/icons/256x256.png b/electron/build/icons/256x256.png new file mode 100644 index 0000000000..563e6d5edc Binary files /dev/null and b/electron/build/icons/256x256.png differ diff --git a/electron/build/icons/48x48.png b/electron/build/icons/48x48.png new file mode 100644 index 0000000000..9cd225d402 Binary files /dev/null and b/electron/build/icons/48x48.png differ diff --git a/electron/build/icons/512x512.png b/electron/build/icons/512x512.png new file mode 100644 index 0000000000..328a723c97 Binary files /dev/null and b/electron/build/icons/512x512.png differ diff --git a/electron/build/icons/64x64.png b/electron/build/icons/64x64.png new file mode 100644 index 0000000000..20a7a6cff3 Binary files /dev/null and b/electron/build/icons/64x64.png differ diff --git a/electron/build/icons/96x96.png b/electron/build/icons/96x96.png new file mode 100644 index 0000000000..eb48c2c91e Binary files /dev/null and b/electron/build/icons/96x96.png differ diff --git a/res/vector-icons/android-chrome-144x144.png b/res/vector-icons/android-chrome-144x144.png index 2a83f52169..30c8cf18dc 100644 Binary files a/res/vector-icons/android-chrome-144x144.png and b/res/vector-icons/android-chrome-144x144.png differ diff --git a/res/vector-icons/android-chrome-192x192.png b/res/vector-icons/android-chrome-192x192.png index 5794bdb0e4..560e20ad8c 100644 Binary files a/res/vector-icons/android-chrome-192x192.png and b/res/vector-icons/android-chrome-192x192.png differ diff --git a/res/vector-icons/android-chrome-36x36.png b/res/vector-icons/android-chrome-36x36.png index 17b6fe83b6..ee41772f4d 100644 Binary files a/res/vector-icons/android-chrome-36x36.png and b/res/vector-icons/android-chrome-36x36.png differ diff --git a/res/vector-icons/android-chrome-48x48.png b/res/vector-icons/android-chrome-48x48.png index 7435fbd844..9cd225d402 100644 Binary files a/res/vector-icons/android-chrome-48x48.png and b/res/vector-icons/android-chrome-48x48.png differ diff --git a/res/vector-icons/android-chrome-72x72.png b/res/vector-icons/android-chrome-72x72.png index 9fdbbefb64..d9de0c5715 100644 Binary files a/res/vector-icons/android-chrome-72x72.png and b/res/vector-icons/android-chrome-72x72.png differ diff --git a/res/vector-icons/android-chrome-96x96.png b/res/vector-icons/android-chrome-96x96.png index b9d4326942..eb48c2c91e 100644 Binary files a/res/vector-icons/android-chrome-96x96.png and b/res/vector-icons/android-chrome-96x96.png differ diff --git a/res/vector-icons/apple-touch-icon-114x114.png b/res/vector-icons/apple-touch-icon-114x114.png index 0f0ba555bc..e07fa43752 100644 Binary files a/res/vector-icons/apple-touch-icon-114x114.png and b/res/vector-icons/apple-touch-icon-114x114.png differ diff --git a/res/vector-icons/apple-touch-icon-120x120.png b/res/vector-icons/apple-touch-icon-120x120.png index bd52479553..8265091318 100644 Binary files a/res/vector-icons/apple-touch-icon-120x120.png and b/res/vector-icons/apple-touch-icon-120x120.png differ diff --git a/res/vector-icons/apple-touch-icon-144x144.png b/res/vector-icons/apple-touch-icon-144x144.png index 2a83f52169..30c8cf18dc 100644 Binary files a/res/vector-icons/apple-touch-icon-144x144.png and b/res/vector-icons/apple-touch-icon-144x144.png differ diff --git a/res/vector-icons/apple-touch-icon-152x152.png b/res/vector-icons/apple-touch-icon-152x152.png index 04ed2d47ac..5bc63546c8 100644 Binary files a/res/vector-icons/apple-touch-icon-152x152.png and b/res/vector-icons/apple-touch-icon-152x152.png differ diff --git a/res/vector-icons/apple-touch-icon-180x180.png b/res/vector-icons/apple-touch-icon-180x180.png index fe13aa99c3..85e9f8ca74 100644 Binary files a/res/vector-icons/apple-touch-icon-180x180.png and b/res/vector-icons/apple-touch-icon-180x180.png differ diff --git a/res/vector-icons/apple-touch-icon-57x57.png b/res/vector-icons/apple-touch-icon-57x57.png index 3d7055c52d..253c3db70a 100644 Binary files a/res/vector-icons/apple-touch-icon-57x57.png and b/res/vector-icons/apple-touch-icon-57x57.png differ diff --git a/res/vector-icons/apple-touch-icon-60x60.png b/res/vector-icons/apple-touch-icon-60x60.png index 0dc6bcb534..192a34675b 100644 Binary files a/res/vector-icons/apple-touch-icon-60x60.png and b/res/vector-icons/apple-touch-icon-60x60.png differ diff --git a/res/vector-icons/apple-touch-icon-72x72.png b/res/vector-icons/apple-touch-icon-72x72.png index 9fdbbefb64..d9de0c5715 100644 Binary files a/res/vector-icons/apple-touch-icon-72x72.png and b/res/vector-icons/apple-touch-icon-72x72.png differ diff --git a/res/vector-icons/apple-touch-icon-76x76.png b/res/vector-icons/apple-touch-icon-76x76.png index 5724b6b80b..b94716457b 100644 Binary files a/res/vector-icons/apple-touch-icon-76x76.png and b/res/vector-icons/apple-touch-icon-76x76.png differ diff --git a/res/vector-icons/apple-touch-icon-precomposed.png b/res/vector-icons/apple-touch-icon-precomposed.png index fe13aa99c3..85e9f8ca74 100644 Binary files a/res/vector-icons/apple-touch-icon-precomposed.png and b/res/vector-icons/apple-touch-icon-precomposed.png differ diff --git a/res/vector-icons/apple-touch-icon.png b/res/vector-icons/apple-touch-icon.png index fe13aa99c3..85e9f8ca74 100644 Binary files a/res/vector-icons/apple-touch-icon.png and b/res/vector-icons/apple-touch-icon.png differ diff --git a/res/vector-icons/favicon-16x16.png b/res/vector-icons/favicon-16x16.png index cc7e01e3da..def4ec5eee 100644 Binary files a/res/vector-icons/favicon-16x16.png and b/res/vector-icons/favicon-16x16.png differ diff --git a/res/vector-icons/favicon-32x32.png b/res/vector-icons/favicon-32x32.png index a0089a4ea9..c999923ac1 100644 Binary files a/res/vector-icons/favicon-32x32.png and b/res/vector-icons/favicon-32x32.png differ diff --git a/res/vector-icons/favicon-96x96.png b/res/vector-icons/favicon-96x96.png index b9d4326942..eb48c2c91e 100644 Binary files a/res/vector-icons/favicon-96x96.png and b/res/vector-icons/favicon-96x96.png differ diff --git a/res/vector-icons/favicon.ico b/res/vector-icons/favicon.ico index 1b40e1747a..a1a73e6cfd 100644 Binary files a/res/vector-icons/favicon.ico and b/res/vector-icons/favicon.ico differ diff --git a/res/vector-icons/mstile-144x144.png b/res/vector-icons/mstile-144x144.png index 4e13047234..30c8cf18dc 100644 Binary files a/res/vector-icons/mstile-144x144.png and b/res/vector-icons/mstile-144x144.png differ diff --git a/res/vector-icons/mstile-150x150.png b/res/vector-icons/mstile-150x150.png index 7222a40cd7..5b8fca8a48 100644 Binary files a/res/vector-icons/mstile-150x150.png and b/res/vector-icons/mstile-150x150.png differ diff --git a/res/vector-icons/mstile-310x150.png b/res/vector-icons/mstile-310x150.png index af5ec1b3d9..d809f00a05 100644 Binary files a/res/vector-icons/mstile-310x150.png and b/res/vector-icons/mstile-310x150.png differ diff --git a/res/vector-icons/mstile-310x310.png b/res/vector-icons/mstile-310x310.png index f5fecd426c..ec62f8ee9d 100644 Binary files a/res/vector-icons/mstile-310x310.png and b/res/vector-icons/mstile-310x310.png differ diff --git a/res/vector-icons/mstile-70x70.png b/res/vector-icons/mstile-70x70.png index d45b51fb33..820a909e21 100644 Binary files a/res/vector-icons/mstile-70x70.png and b/res/vector-icons/mstile-70x70.png differ diff --git a/scripts/make-icons.sh b/scripts/make-icons.sh new file mode 100755 index 0000000000..d9d00d9777 --- /dev/null +++ b/scripts/make-icons.sh @@ -0,0 +1,93 @@ +#!/bin/bash + +if [ $# != 1 ] +then + echo "Usage: $0 " + exit +fi + +set -e +set -x + +tmpdir=`mktemp -d 2>/dev/null || mktemp -d -t 'icontmp'` + +for i in 1024 512 256 192 310 180 144 152 150 128 120 114 96 76 72 70 64 60 57 48 36 32 24 16 +do + #convert -background none -density 1000 -resize $i -extent $i -gravity center "$1" "$tmpdir/$i.png" + + # Above is the imagemagick command to render an svg to png. Unfortunately, its support for SVGs + # with CSS isn't very good (with rsvg and even moreso the built in renderer) so we use cairosvg. + # This can be installed with: + # pip install cairosvg==1.0.22 # Version 2 doesn't support python 2 + # pip install tinycss + # pip install cssselect # These are necessary for CSS support + # You'll also need xmlstarlet from your favourite package manager + # + # Cairosvg doesn't suport rendering at a specific size (https://github.com/Kozea/CairoSVG/issues/83#issuecomment-215720176) + # so we have to 'resize the svg' first (add width and height attributes to the svg element) to make it render at the + # size we need. + # XXX: This will break if the svg already has width and height attributes + cp "$1" "$tmpdir/tmp.svg" + xmlstarlet ed -N x="http://www.w3.org/2000/svg" --insert "/x:svg" --type attr -n width -v $i "$tmpdir/tmp.svg" > "$tmpdir/tmp2.svg" + xmlstarlet ed -N x="http://www.w3.org/2000/svg" --insert "/x:svg" --type attr -n height -v $i "$tmpdir/tmp2.svg" > "$tmpdir/tmp3.svg" + cairosvg -f png -o "$tmpdir/$i.png" "$tmpdir/tmp3.svg" + rm "$tmpdir/tmp.svg" "$tmpdir/tmp2.svg" "$tmpdir/tmp3.svg" +done + +# one more for the non-square mstile +cp "$1" "$tmpdir/tmp.svg" +xmlstarlet ed -N x="http://www.w3.org/2000/svg" --insert "/x:svg" --type attr -n width -v 310 "$tmpdir/tmp.svg" > "$tmpdir/tmp2.svg" +xmlstarlet ed -N x="http://www.w3.org/2000/svg" --insert "/x:svg" --type attr -n height -v 150 "$tmpdir/tmp2.svg" > "$tmpdir/tmp3.svg" +cairosvg -f png -o "$tmpdir/310x150.png" "$tmpdir/tmp3.svg" +rm "$tmpdir/tmp.svg" "$tmpdir/tmp2.svg" "$tmpdir/tmp3.svg" + +mkdir "$tmpdir/Riot.iconset" +cp "$tmpdir/16.png" "$tmpdir/Riot.iconset/icon_16x16.png" +cp "$tmpdir/32.png" "$tmpdir/Riot.iconset/icon_16x16@2x.png" +cp "$tmpdir/32.png" "$tmpdir/Riot.iconset/icon_32x32.png" +cp "$tmpdir/64.png" "$tmpdir/Riot.iconset/icon_32x32@2x.png" +cp "$tmpdir/128.png" "$tmpdir/Riot.iconset/icon_128x128.png" +cp "$tmpdir/256.png" "$tmpdir/Riot.iconset/icon_128x128@2x.png" +cp "$tmpdir/256.png" "$tmpdir/Riot.iconset/icon_256x256.png" +cp "$tmpdir/512.png" "$tmpdir/Riot.iconset/icon_256x256@2x.png" +cp "$tmpdir/512.png" "$tmpdir/Riot.iconset/icon_512x512.png" +cp "$tmpdir/1024.png" "$tmpdir/Riot.iconset/icon_512x512@2x.png" +iconutil -c icns -o electron/build/icon.icns "$tmpdir/Riot.iconset" + +cp "$tmpdir/36.png" "res/vector-icons/android-chrome-36x36.png" +cp "$tmpdir/48.png" "res/vector-icons/android-chrome-48x48.png" +cp "$tmpdir/72.png" "res/vector-icons/android-chrome-72x72.png" +cp "$tmpdir/96.png" "res/vector-icons/android-chrome-96x96.png" +cp "$tmpdir/144.png" "res/vector-icons/android-chrome-144x144.png" +cp "$tmpdir/192.png" "res/vector-icons/android-chrome-192x192.png" +cp "$tmpdir/180.png" "res/vector-icons/apple-touch-icon.png" +cp "$tmpdir/180.png" "res/vector-icons/apple-touch-icon-precomposed.png" +cp "$tmpdir/57.png" "res/vector-icons/apple-touch-icon-57x57.png" +cp "$tmpdir/60.png" "res/vector-icons/apple-touch-icon-60x60.png" +cp "$tmpdir/72.png" "res/vector-icons/apple-touch-icon-72x72.png" +cp "$tmpdir/76.png" "res/vector-icons/apple-touch-icon-76x76.png" +cp "$tmpdir/114.png" "res/vector-icons/apple-touch-icon-114x114.png" +cp "$tmpdir/120.png" "res/vector-icons/apple-touch-icon-120x120.png" +cp "$tmpdir/144.png" "res/vector-icons/apple-touch-icon-144x144.png" +cp "$tmpdir/152.png" "res/vector-icons/apple-touch-icon-152x152.png" +cp "$tmpdir/180.png" "res/vector-icons/apple-touch-icon-180x180.png" +cp "$tmpdir/16.png" "res/vector-icons/favicon-16x16.png" +cp "$tmpdir/32.png" "res/vector-icons/favicon-32x32.png" +cp "$tmpdir/96.png" "res/vector-icons/favicon-96x96.png" +cp "$tmpdir/70.png" "res/vector-icons/mstile-70x70.png" +cp "$tmpdir/144.png" "res/vector-icons/mstile-144x144.png" +cp "$tmpdir/150.png" "res/vector-icons/mstile-150x150.png" +cp "$tmpdir/310.png" "res/vector-icons/mstile-310x310.png" +cp "$tmpdir/310x150.png" "res/vector-icons/mstile-310x150.png" + +convert "$tmpdir/16.png" "$tmpdir/32.png" "$tmpdir/64.png" "$tmpdir/128.png" "res/vector-icons/favicon.ico" + +cp "res/vector-icons/favicon.ico" "electron/build/icon.ico" + +# https://github.com/electron-userland/electron-builder/blob/3f97b86993d4ea5172e562b182230a194de0f621/src/targets/LinuxTargetHelper.ts#L127 +for i in 24 96 16 48 64 128 256 512 +do + cp "$tmpdir/$i.png" "electron/build/icons/${i}x${i}.png" +done + +rm -r "$tmpdir"