summaryrefslogtreecommitdiff
path: root/archived/projt-launcher/program_info/genicons.sh
blob: dbc3ecc143cb0849569c6820c417aadd6a474383 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#!/bin/bash

LAUNCHER_APPID="org.projecttick.ProjTLauncher"

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 ${LAUNCHER_APPID}.svg "$d/projtlauncher_16.png" 16 16
    svg2png ${LAUNCHER_APPID}.svg "$d/projtlauncher_24.png" 24 24
    svg2png ${LAUNCHER_APPID}.svg "$d/projtlauncher_32.png" 32 32
    svg2png ${LAUNCHER_APPID}.svg "$d/projtlauncher_48.png" 48 48
    svg2png ${LAUNCHER_APPID}.svg "$d/projtlauncher_64.png" 64 64
    svg2png ${LAUNCHER_APPID}.svg "$d/projtlauncher_128.png" 128 128
    svg2png ${LAUNCHER_APPID}.svg "$d/projtlauncher_256.png" 256 256

    oxipng --opt max --strip all --alpha --interlace 0 "$d/projtlauncher_"*".png"

    rm projtlauncher.ico && icotool -o projtlauncher.ico -c \
        "$d/projtlauncher_256.png"  \
        "$d/projtlauncher_128.png"  \
        "$d/projtlauncher_64.png"   \
        "$d/projtlauncher_48.png"   \
        "$d/projtlauncher_32.png"   \
        "$d/projtlauncher_24.png"   \
        "$d/projtlauncher_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/projtlauncher.iconset"

    mkdir -p "$d"

    svg2png ${LAUNCHER_APPID}.bigsur.svg "$d/icon_16x16.png" 16 16
    svg2png ${LAUNCHER_APPID}.bigsur.svg "$d/icon_16x16@2x.png" 32 32
    svg2png ${LAUNCHER_APPID}.bigsur.svg "$d/icon_32x32.png" 32 32
    svg2png ${LAUNCHER_APPID}.bigsur.svg "$d/icon_32x32@2x.png" 64 64
    svg2png ${LAUNCHER_APPID}.bigsur.svg "$d/icon_128x128.png" 128 128
    svg2png ${LAUNCHER_APPID}.bigsur.svg "$d/icon_128x128@2x.png" 256 256
    svg2png ${LAUNCHER_APPID}.bigsur.svg "$d/icon_256x256.png" 256 256
    svg2png ${LAUNCHER_APPID}.bigsur.svg "$d/icon_256x256@2x.png" 512 512
    svg2png ${LAUNCHER_APPID}.bigsur.svg "$d/icon_512x512.png" 512 512
    svg2png ${LAUNCHER_APPID}.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%/*}/projtlauncher.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 ${LAUNCHER_APPID}.svg "../launcher/resources/multimc/scalable/launcher.svg"