diff --git a/resources/icon.ico b/resources/icon.ico index cfa3ef57..04576965 100644 Binary files a/resources/icon.ico and b/resources/icon.ico differ diff --git a/scripts/create_ico.js b/scripts/create_ico.js new file mode 100644 index 00000000..218d5fa7 --- /dev/null +++ b/scripts/create_ico.js @@ -0,0 +1,33 @@ +const childProcess = require('child_process'); +const fs = require('fs-extra'); +const path = require('path'); + +const svgPath = path.join('resources', 'icon.svg'); +const buildDirectory = path.join('build', 'icon'); +const outputPath = path.join('resources', 'icon.ico'); + +const sizes = [16, 20, 24, 30, 32, 36, 40, 48, 60, 64, 72, 80, 96, 128, 256]; + +fs.mkdirsSync(buildDirectory); + +const convertArgs = []; +sizes.forEach((size) => { + const pngFile = path.join(buildDirectory, `icon-${size}.png`); + convertArgs.push(pngFile); + + childProcess.execFileSync('inkscape', [ + '-z', + '-e', + pngFile, + '-w', + size, + '-h', + size, + svgPath, + ]); +}); + +convertArgs.push(outputPath); +childProcess.execFileSync('convert', convertArgs); + +fs.removeSync(buildDirectory);