mirror of
https://gitlab.com/kicad/code/kicad.git
synced 2025-04-21 00:21:25 +00:00
Resize MacOS icons and script their creation
Creates a script that will fomat the MacOS icons at 80% of the total size in line with Apple's guidelines. Script requires Inkscape 1.0 and png2icns (available on Linux boxen) Fixes https://gitlab.com/kicad/code/kicad/issues/7977
This commit is contained in:
parent
ad8acd328c
commit
e7d8b1a975
bitmap2component
bitmaps_png
eeschema
gerbview
kicad
pagelayout_editor
pcb_calculator
pcbnew
Binary file not shown.
64
bitmaps_png/mk_mac_icons.sh
Executable file
64
bitmaps_png/mk_mac_icons.sh
Executable file
@ -0,0 +1,64 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# make macos icons using Inkscape
|
||||
|
||||
mkdir macos_tmp
|
||||
# convert .svg files into .png files
|
||||
|
||||
SIZES="16x16
|
||||
32x32
|
||||
128x128
|
||||
256x256
|
||||
512x512
|
||||
1024x1024"
|
||||
|
||||
ICONS="bitmap2component
|
||||
eeschema
|
||||
gerbview
|
||||
kicad
|
||||
pagelayout_editor
|
||||
pcbcalculator
|
||||
pcbnew"
|
||||
|
||||
|
||||
for pgm in $ICONS
|
||||
do
|
||||
output=""
|
||||
|
||||
for size in $SIZES
|
||||
do
|
||||
sz=${size%x*}
|
||||
|
||||
echo -e '\E[0;32m'"\nMaking the applications icons with size $size."
|
||||
|
||||
# MacOS wants icons with 10% clearance on each side
|
||||
let "sub_sz = $sz * 8 / 10"
|
||||
|
||||
# Use specialized icons for smaller sizes to keep pixel alignment
|
||||
if [ $sz -le 32 ]
|
||||
then
|
||||
inkscape sources/light/icon_${pgm}_${sz}.svg -o macos_tmp/${pgm}_small_${sz}px.png -w ${sub_sz} -h ${sub_sz} --export-area-snap
|
||||
else
|
||||
inkscape sources/light/icon_${pgm}.svg -o macos_tmp/${pgm}_small_${sz}px.png -w ${sub_sz} -h ${sub_sz} --export-area-snap
|
||||
fi
|
||||
|
||||
convert macos_tmp/${pgm}_small_${sz}px.png -size $size xc:transparent +swap -gravity center -composite macos_tmp/${pgm}_${sz}px.png
|
||||
|
||||
output+="macos_tmp/${pgm}_${sz}px.png "
|
||||
done
|
||||
|
||||
if [ ${pgm} == "pcbcalculator" ]
|
||||
then
|
||||
# mismatch in the pcbcalculator icon names
|
||||
png2icns ../pcb_calculator/pcb_calculator.icns ${output}
|
||||
elif [ ${pgm} == "bitmap2component" ]
|
||||
then
|
||||
#bitmap2component does not have associated documents
|
||||
png2icns ../${pgm}/${pgm}.icns ${output}
|
||||
else
|
||||
png2icns ../${pgm}/${pgm}.icns ${output}
|
||||
cp ../${pgm}/${pgm}.icns ../${pgm}/${pgm}_doc.icns
|
||||
fi
|
||||
done
|
||||
|
||||
rm -rf macos_tmp
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
kicad/kicad.icns
BIN
kicad/kicad.icns
Binary file not shown.
Binary file not shown.
@ -62,15 +62,15 @@ endif()
|
||||
|
||||
if( APPLE )
|
||||
# setup bundle
|
||||
set( PL_EDITOR_RESOURCES pl_editor.icns pl_editor_doc.icns )
|
||||
set_source_files_properties( "${CMAKE_CURRENT_SOURCE_DIR}/pl_editor.icns" PROPERTIES
|
||||
set( PL_EDITOR_RESOURCES pagelayout_editor.icns pagelayout_editor_doc.icns )
|
||||
set_source_files_properties( "${CMAKE_CURRENT_SOURCE_DIR}/pagelayout_editor.icns" PROPERTIES
|
||||
MACOSX_PACKAGE_LOCATION Resources
|
||||
)
|
||||
set_source_files_properties( "${CMAKE_CURRENT_SOURCE_DIR}/pl_editor_doc.icns" PROPERTIES
|
||||
set_source_files_properties( "${CMAKE_CURRENT_SOURCE_DIR}/pagelayout_editor_doc.icns" PROPERTIES
|
||||
MACOSX_PACKAGE_LOCATION Resources
|
||||
)
|
||||
set( MACOSX_BUNDLE_ICON_FILE pl_editor.icns )
|
||||
set( MACOSX_BUNDLE_GUI_IDENTIFIER org.kicad-pcb.kicad )
|
||||
set( MACOSX_BUNDLE_ICON_FILE pagelayout_editor.icns )
|
||||
set( MACOSX_BUNDLE_GUI_IDENTIFIER org.kicad.kicad )
|
||||
set( MACOSX_BUNDLE_NAME pl_editor )
|
||||
endif()
|
||||
|
||||
|
BIN
pagelayout_editor/pagelayout_editor.icns
Normal file
BIN
pagelayout_editor/pagelayout_editor.icns
Normal file
Binary file not shown.
BIN
pagelayout_editor/pagelayout_editor_doc.icns
Normal file
BIN
pagelayout_editor/pagelayout_editor_doc.icns
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue
Block a user