diff --git a/Makefile b/Makefile index d2979a8d..3d81ca51 100644 --- a/Makefile +++ b/Makefile @@ -12,9 +12,9 @@ TARGET_OS?=${GOOS} # Keep version hardcoded so app build works also without Git repository. BRIDGE_APP_VERSION?=2.2.0+git APP_VERSION:=${BRIDGE_APP_VERSION} -SRC_ICO:=logo.ico +SRC_ICO:=bridge.ico SRC_ICNS:=Bridge.icns -SRC_SVG:=logo.svg +SRC_SVG:=bridge.svg EXE_NAME:=proton-bridge CONFIGNAME:=bridge REVISION:=$(shell git rev-parse --short=10 HEAD) @@ -88,7 +88,7 @@ ${TGZ_TARGET}: ${DEPLOY_DIR}/${TARGET_OS} cd ${DEPLOY_DIR}/${TARGET_OS} && tar -czvf ../../../../$@ . ${DEPLOY_DIR}/linux: ${EXE_TARGET} - cp -pf ./internal/frontend/share/${SRC_SVG} ${DEPLOY_DIR}/linux/logo.svg + cp -pf ./dist/${SRC_SVG} ${DEPLOY_DIR}/linux/logo.svg cp -pf ./LICENSE ${DEPLOY_DIR}/linux/ cp -pf ./Changelog.md ${DEPLOY_DIR}/linux/ cp -pf ./dist/${EXE_NAME}.desktop ${DEPLOY_DIR}/linux/ @@ -98,7 +98,7 @@ ${DEPLOY_DIR}/darwin: ${EXE_TARGET} mv ${EXE_TARGET}/Contents/MacOS/{${DIRNAME},${EXE_NAME}}; \ perl -i -pe"s/>${DIRNAME}/>${EXE_NAME}/g" ${EXE_TARGET}/Contents/Info.plist; \ fi - cp ./internal/frontend/share/${SRC_ICNS} ${DARWINAPP_CONTENTS}/Resources/${SRC_ICNS} + cp ./dist/${SRC_ICNS} ${DARWINAPP_CONTENTS}/Resources/${SRC_ICNS} cp LICENSE ${DARWINAPP_CONTENTS}/Resources/ rm -rf "${DARWINAPP_CONTENTS}/Frameworks/QtWebEngine.framework" rm -rf "${DARWINAPP_CONTENTS}/Frameworks/QtWebView.framework" @@ -106,7 +106,7 @@ ${DEPLOY_DIR}/darwin: ${EXE_TARGET} ./utils/remove_non_relative_links_darwin.sh "${EXE_TARGET}${EXE_BINARY_DARWIN}" ${DEPLOY_DIR}/windows: ${EXE_TARGET} - cp ./internal/frontend/share/${SRC_ICO} ${DEPLOY_DIR}/windows/logo.ico + cp ./dist/${SRC_ICO} ${DEPLOY_DIR}/windows/logo.ico cp LICENSE ${DEPLOY_DIR}/windows/ QT_BUILD_TARGET:=build desktop @@ -127,7 +127,7 @@ ${EXE_TARGET}: check-has-go gofiles ${RESOURCE_FILE} ${VENDOR_TARGET} WINDRES_YEAR:=$(shell date +%Y) APP_VERSION_COMMA:=$(shell echo "${APP_VERSION}" | sed -e 's/[^0-9,.]*//g' -e 's/\./,/g') -resource.syso: ./internal/frontend/share/info.rc ./internal/frontend/share/${SRC_ICO} .FORCE +resource.syso: ./dist/info.rc ./dist/${SRC_ICO} .FORCE rm -f ./*.syso windres --target=pe-x86-64 -I ./internal/frontend/share/ -D ICO_FILE=${SRC_ICO} -D EXE_NAME="${EXE_NAME}" -D FILE_VERSION="${APP_VERSION}" -D ORIGINAL_FILE_NAME="${EXE}" -D PRODUCT_VERSION="${APP_VERSION}" -D FILE_VERSION_COMMA=${APP_VERSION_COMMA} -D YEAR=${WINDRES_YEAR} -o $@ $< diff --git a/dist/Bridge.icns b/dist/Bridge.icns new file mode 100644 index 00000000..106db672 Binary files /dev/null and b/dist/Bridge.icns differ diff --git a/dist/bridge.ico b/dist/bridge.ico new file mode 100644 index 00000000..331d2ce3 Binary files /dev/null and b/dist/bridge.ico differ diff --git a/dist/bridge.svg b/dist/bridge.svg new file mode 100644 index 00000000..81c18b8f --- /dev/null +++ b/dist/bridge.svg @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/internal/frontend/share/info.rc b/dist/info.rc similarity index 100% rename from internal/frontend/share/info.rc rename to dist/info.rc diff --git a/dist/proton-bridge.desktop b/dist/proton-bridge.desktop index 5dc83c01..220e0685 100644 --- a/dist/proton-bridge.desktop +++ b/dist/proton-bridge.desktop @@ -8,4 +8,4 @@ Icon=protonmail-bridge Exec=protonmail-bridge Terminal=false Categories=Office;Email;Network -StartupWMClass=protonmail-bridge +StartupWMClass=Proton Mail Bridge diff --git a/dist/raw/mac_icon_1024x1024.png b/dist/raw/mac_icon_1024x1024.png new file mode 100644 index 00000000..a61d9d4d Binary files /dev/null and b/dist/raw/mac_icon_1024x1024.png differ diff --git a/dist/raw/mac_icon_128x128.png b/dist/raw/mac_icon_128x128.png new file mode 100644 index 00000000..f88468c8 Binary files /dev/null and b/dist/raw/mac_icon_128x128.png differ diff --git a/dist/raw/mac_icon_128x128.svg b/dist/raw/mac_icon_128x128.svg new file mode 100644 index 00000000..d4a5af75 --- /dev/null +++ b/dist/raw/mac_icon_128x128.svg @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dist/raw/mac_icon_16x16.png b/dist/raw/mac_icon_16x16.png new file mode 100644 index 00000000..8bce82f6 Binary files /dev/null and b/dist/raw/mac_icon_16x16.png differ diff --git a/dist/raw/mac_icon_16x16.svg b/dist/raw/mac_icon_16x16.svg new file mode 100644 index 00000000..5d0ad498 --- /dev/null +++ b/dist/raw/mac_icon_16x16.svg @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dist/raw/mac_icon_256x256.png b/dist/raw/mac_icon_256x256.png new file mode 100644 index 00000000..73e23d7b Binary files /dev/null and b/dist/raw/mac_icon_256x256.png differ diff --git a/dist/raw/mac_icon_256x256.svg b/dist/raw/mac_icon_256x256.svg new file mode 100644 index 00000000..401dcf83 --- /dev/null +++ b/dist/raw/mac_icon_256x256.svg @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dist/raw/mac_icon_32x32.png b/dist/raw/mac_icon_32x32.png new file mode 100644 index 00000000..c0d4a0c3 Binary files /dev/null and b/dist/raw/mac_icon_32x32.png differ diff --git a/dist/raw/mac_icon_32x32.svg b/dist/raw/mac_icon_32x32.svg new file mode 100644 index 00000000..a4a2e514 --- /dev/null +++ b/dist/raw/mac_icon_32x32.svg @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dist/raw/mac_icon_512x512.png b/dist/raw/mac_icon_512x512.png new file mode 100644 index 00000000..c2928d4f Binary files /dev/null and b/dist/raw/mac_icon_512x512.png differ diff --git a/dist/raw/mac_icon_512x512.svg b/dist/raw/mac_icon_512x512.svg new file mode 100644 index 00000000..070cd9df --- /dev/null +++ b/dist/raw/mac_icon_512x512.svg @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dist/raw/win+lin_icon_16x16.svg b/dist/raw/win+lin_icon_16x16.svg new file mode 100644 index 00000000..182972f1 --- /dev/null +++ b/dist/raw/win+lin_icon_16x16.svg @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dist/raw/win+lin_icon_24x24.svg b/dist/raw/win+lin_icon_24x24.svg new file mode 100644 index 00000000..c3520335 --- /dev/null +++ b/dist/raw/win+lin_icon_24x24.svg @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dist/raw/win+lin_icon_256x256.png b/dist/raw/win+lin_icon_256x256.png new file mode 100644 index 00000000..fa0f7899 Binary files /dev/null and b/dist/raw/win+lin_icon_256x256.png differ diff --git a/dist/raw/win+lin_icon_256x256.svg b/dist/raw/win+lin_icon_256x256.svg new file mode 100644 index 00000000..81c18b8f --- /dev/null +++ b/dist/raw/win+lin_icon_256x256.svg @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dist/raw/win+lin_icon_32x32.svg b/dist/raw/win+lin_icon_32x32.svg new file mode 100644 index 00000000..bd2684ab --- /dev/null +++ b/dist/raw/win+lin_icon_32x32.svg @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dist/raw/win+lin_icon_48x48.svg b/dist/raw/win+lin_icon_48x48.svg new file mode 100644 index 00000000..5fe260d1 --- /dev/null +++ b/dist/raw/win+lin_icon_48x48.svg @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/icon.iconset/icon_128x128.png b/icon.iconset/icon_128x128.png deleted file mode 100644 index a4bbbd97..00000000 Binary files a/icon.iconset/icon_128x128.png and /dev/null differ diff --git a/icon.iconset/icon_128x128@2x.png b/icon.iconset/icon_128x128@2x.png deleted file mode 100644 index d12764ae..00000000 Binary files a/icon.iconset/icon_128x128@2x.png and /dev/null differ diff --git a/icon.iconset/icon_16x16.png b/icon.iconset/icon_16x16.png deleted file mode 100644 index 9ed58081..00000000 Binary files a/icon.iconset/icon_16x16.png and /dev/null differ diff --git a/icon.iconset/icon_16x16@2x.png b/icon.iconset/icon_16x16@2x.png deleted file mode 100644 index 6447fe43..00000000 Binary files a/icon.iconset/icon_16x16@2x.png and /dev/null differ diff --git a/icon.iconset/icon_256x256.png b/icon.iconset/icon_256x256.png deleted file mode 100644 index d12764ae..00000000 Binary files a/icon.iconset/icon_256x256.png and /dev/null differ diff --git a/icon.iconset/icon_256x256@2x.png b/icon.iconset/icon_256x256@2x.png deleted file mode 100644 index 9ec04491..00000000 Binary files a/icon.iconset/icon_256x256@2x.png and /dev/null differ diff --git a/icon.iconset/icon_32x32.png b/icon.iconset/icon_32x32.png deleted file mode 100644 index 6447fe43..00000000 Binary files a/icon.iconset/icon_32x32.png and /dev/null differ diff --git a/icon.iconset/icon_32x32@2x.png b/icon.iconset/icon_32x32@2x.png deleted file mode 100644 index 134f027c..00000000 Binary files a/icon.iconset/icon_32x32@2x.png and /dev/null differ diff --git a/icon.iconset/icon_512x512.png b/icon.iconset/icon_512x512.png deleted file mode 100644 index 9ec04491..00000000 Binary files a/icon.iconset/icon_512x512.png and /dev/null differ diff --git a/icon.iconset/icon_512x512@2x.png b/icon.iconset/icon_512x512@2x.png deleted file mode 100644 index 99222ac1..00000000 Binary files a/icon.iconset/icon_512x512@2x.png and /dev/null differ diff --git a/internal/frontend/share/Bridge.icns b/internal/frontend/share/Bridge.icns deleted file mode 100644 index 3520a0eb..00000000 Binary files a/internal/frontend/share/Bridge.icns and /dev/null differ diff --git a/internal/frontend/share/logo.ico b/internal/frontend/share/logo.ico deleted file mode 100644 index 2b0e2f0f..00000000 Binary files a/internal/frontend/share/logo.ico and /dev/null differ diff --git a/internal/frontend/share/logo.svg b/internal/frontend/share/logo.svg deleted file mode 100644 index dc807142..00000000 --- a/internal/frontend/share/logo.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/utils/export_icons.sh b/utils/export_icons.sh new file mode 100755 index 00000000..c58460e7 --- /dev/null +++ b/utils/export_icons.sh @@ -0,0 +1,79 @@ +# Copyright (c) 2022 Proton AG +# +# This file is part of Proton Mail Bridge. +# +# Proton Mail Bridge is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Proton Mail Bridge is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Proton Mail Bridge. If not, see . + + + +RAW_PATHS=./dist/raw + +create_bitmaps(){ + rm -f ${RAW_PATHS}/*_icon_*.png + + export_png ${RAW_PATHS}/mac_icon_512x512.svg 384 1024 + export_png ${RAW_PATHS}/mac_icon_512x512.svg 192 512 + export_png ${RAW_PATHS}/mac_icon_512x512.svg 96 256 + export_png ${RAW_PATHS}/mac_icon_256x256.svg 96 128 + export_png ${RAW_PATHS}/mac_icon_32x32.svg 192 32 + export_png ${RAW_PATHS}/mac_icon_32x32.svg 96 16 + + export_png ${RAW_PATHS}/win+lin_icon_256x256.svg 192 256 +} + + +# Inkscape (more precisely cairo) doesn't support customization of rendering +# and direct output is too sharp. Therefore, we double DPI for inkscape export +# and then scale down to correct dimension. +export_png(){ + inSVG=$1 + dpi=$2 + size=$3 + + dimensions=${size}x${size} + outPNG=$(echo "$inSVG" | sed 's/\(.*_icon\)_.*/\1/')_${dimensions}.png + + echo "$inSVG -> $outPNG $dpi $dimensions" + inkscape "$inSVG" --export-filename=tmp.png --export-dpi "$dpi" + file tmp.png + convert tmp.png -resize "$dimensions" "$outPNG" + file "$outPNG" + rm tmp.png +} + +create_mac_icon(){ + out=./dist/Bridge.icns + rm -f ${out} + png2icns ${out} \ + ${RAW_PATHS}/mac_icon_{1024x1024,512x512,256x256,128x128,32x32,16x16}.png +} + +create_windows_icon(){ + out=./dist/bridge.ico + rm -f ${out} + convert \ + ${RAW_PATHS}/win+lin_icon_256x256.png \ + -define icon:auto-resize=256,128,64,48,32,16 ${out} +} + +create_linux_icon(){ + out=./dist/bridge.svg + rm -f ${out} + cp ${RAW_PATHS}/win+lin_icon_256x256.svg ${out} +} + +create_bitmaps +create_mac_icon +create_windows_icon +create_linux_icon