diff options
| author | Mehmet Samet Duman <yongdohyun@projecttick.org> | 2026-04-02 18:45:07 +0300 |
|---|---|---|
| committer | Mehmet Samet Duman <yongdohyun@projecttick.org> | 2026-04-02 18:45:07 +0300 |
| commit | 31b9a8949ed0a288143e23bf739f2eb64fdc63be (patch) | |
| tree | 8a984fa143c38fccad461a77792d6864f3e82cd3 /meshmc/branding/genicons.sh | |
| parent | 934382c8a1ce738589dee9ee0f14e1cec812770e (diff) | |
| parent | fad6a1066616b69d7f5fef01178efdf014c59537 (diff) | |
| download | Project-Tick-31b9a8949ed0a288143e23bf739f2eb64fdc63be.tar.gz Project-Tick-31b9a8949ed0a288143e23bf739f2eb64fdc63be.zip | |
Add 'meshmc/' from commit 'fad6a1066616b69d7f5fef01178efdf014c59537'
git-subtree-dir: meshmc
git-subtree-mainline: 934382c8a1ce738589dee9ee0f14e1cec812770e
git-subtree-split: fad6a1066616b69d7f5fef01178efdf014c59537
Diffstat (limited to 'meshmc/branding/genicons.sh')
| -rwxr-xr-x | meshmc/branding/genicons.sh | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/meshmc/branding/genicons.sh b/meshmc/branding/genicons.sh new file mode 100755 index 0000000000..ebf92123d4 --- /dev/null +++ b/meshmc/branding/genicons.sh @@ -0,0 +1,71 @@ +#!/bin/bash +# SPDX-FileCopyrightText: 2026 Project Tick +# SPDX-FileContributor: Project Tick +# SPDX-License-Identifier: GPL-3.0-or-later + +svg2png() { + input_file="$1" + output_file="$2" + width="$3" + height="$4" + + inkscape -w "$width" -h "$height" -o "$output_file" "$input_file" +} + +if command -v "inkscape" && command -v "icotool" && command -v "oxipng"; then + # Windows ICO + d=$(mktemp -d) + + svg2png org.projecttick.MeshMC.svg "$d/MeshMC_16.png" 16 16 + svg2png org.projecttick.MeshMC.svg "$d/MeshMC_24.png" 24 24 + svg2png org.projecttick.MeshMC.svg "$d/MeshMC_32.png" 32 32 + svg2png org.projecttick.MeshMC.svg "$d/MeshMC_48.png" 48 48 + svg2png org.projecttick.MeshMC.svg "$d/MeshMC_64.png" 64 64 + svg2png org.projecttick.MeshMC.svg "$d/MeshMC_128.png" 128 128 + svg2png org.projecttick.MeshMC.svg "$d/MeshMC_256.png" 256 256 + + oxipng --opt max --strip all --alpha --interlace 0 "$d/MeshMC_"*".png" + + rm org.projecttick.MeshMC.ico && icotool -o org.projecttick.MeshMC.ico -c \ + "$d/MeshMC_256.png" \ + "$d/MeshMC_128.png" \ + "$d/MeshMC_64.png" \ + "$d/MeshMC_48.png" \ + "$d/MeshMC_32.png" \ + "$d/MeshMC_24.png" \ + "$d/MeshMC_16.png" +else + echo "ERROR: Windows icons were NOT generated!" >&2 + echo "ERROR: requires inkscape, icotool and oxipng in PATH" +fi + +if command -v "inkscape" && command -v "iconutil" && command -v "oxipng"; then + # macOS ICNS + d=$(mktemp -d) + + d="$d/org.projecttick.MeshMC.iconset" + + mkdir -p "$d" + + svg2png org.projecttick.MeshMC.bigsur.svg "$d/icon_16x16.png" 16 16 + svg2png org.projecttick.MeshMC.bigsur.svg "$d/icon_16x16@2x.png" 32 32 + svg2png org.projecttick.MeshMC.bigsur.svg "$d/icon_32x32.png" 32 32 + svg2png org.projecttick.MeshMC.bigsur.svg "$d/icon_32x32@2x.png" 64 64 + svg2png org.projecttick.MeshMC.bigsur.svg "$d/icon_128x128.png" 128 128 + svg2png org.projecttick.MeshMC.bigsur.svg "$d/icon_128x128@2x.png" 256 256 + svg2png org.projecttick.MeshMC.bigsur.svg "$d/icon_256x256.png" 256 256 + svg2png org.projecttick.MeshMC.bigsur.svg "$d/icon_256x256@2x.png" 512 512 + svg2png org.projecttick.MeshMC.bigsur.svg "$d/icon_512x512.png" 512 512 + svg2png org.projecttick.MeshMC.bigsur.svg "$d/icon_512x512@2x.png" 1024 1024 + + oxipng --opt max --strip all --alpha --interlace 0 "$d/icon_"*".png" + + iconutil -c icns "$d" + cp -v "$d/org.projecttick.MeshMC.icns" . +else + echo "ERROR: macOS icons were NOT generated!" >&2 + echo "ERROR: requires inkscape, iconutil and oxipng in PATH" +fi + +# replace icon in themes +cp -v org.projecttick.MeshMC.svg "../launcher/resources/multimc/scalable/instances/logo.svg" |
