File: pyedit-products/unzipped/build/build-icons/_README.txt
This build folder creates icons shipped in ../icons. Ths PNG images at the top of this folder are the originals, from which resizes and icons are made. "images-*" subfolders are resizes used for icon builds, and generated icons are moved to ../icons. In this icon build folder: The Windows .ico is made on any platform with: py -3 iconify.py -win images pyedit The Mac .icns is made on any platform with: python3 iconify.py -mac images pyedit or on a Mac with its built-in: iconutil -c icns pyedit.iconset The required iconify step are automatically from either: - build.bat (on Windows) - resize-and-build.sh (on Unix: Mac, Linux) - ../build-app-exe build scripts if required or forced Build details: Before iconify is run, a 1024x1024 PNG image is first resized for icons by resize-on-mac.sh on Mac using sips (or manually elsewhere). This makes a folder with one image per scaled size (16, 32, 64, 128, 256, 512, and 1024), which is then used as input to iconify.py: ./resize-on-mac.sh pyedit.png images-pyedit python3 iconify.py -mac images-pyedit pyedit GIFs for Linux + Help are made manually from 1024 PNGs via Mac Preview: Tools=>Adjust Size to 256, File=>Export+option-click to GIF no Alpha. Paint works on Windows too, and this could be automated with sips on Mac but it's a one-time task. The tool iconify.py was also extended for Mac .icns as part of the Mac OS X port work. Apple's iconutil is built-in on Macs, but must also be run there only; iconify.py makes Windows and Mac icons, on either. See iconify.py and learning-python.com/iconify. Where icons appear: On Mac, icons are used for Desktop aliases, Dock, common dialogs in Tk, icons of associated files in Finder, the app itself in Finder, and the app bundle itself in Lauchpad if it's been drug (copied) there or to folder /Applications. They do not appear on windows themselves. On Windows, icons are used for Desktop shortcuts, taskbar, icons of associated files, and the executable itself in Explorer and Start. Programs can also arrange to set them on the borders of windows. On Linux, programs can arrange to set an icon on the app bar, from a general image type. Other contexts may vary per window system. Icons do not appear in some of these contexts for source-code based programs - only for executables and Mac apps (a.k.a. app bundles). Desktop icons can generally be set manually by users, though the latest/current Macs require a security system to be disabled first. UPDATE: The PyEdit icon story has grown a bit richer: - Windows now may use up to four icons : one for main window borders, one for popup window borders to make them distinct (main window quits close the program), one for the subprocproxy frozen exe on Windows and Linux, and one for everthing else (e.g., frozen app and main exe). - Linux may use two icons (main and popup window in app-bar), but uses manually-ceated GIFs. - Mac uses just one icon in all contexts (the app icon is general, and border icons aren't supported, so Mac PyEdit uses Unicode characters in titles to differentiate window types instead). It's undecided whether main/popup icons will differ on Windows when shipped: they seem too small to be much of a distinction. PyEdit's code allows popups to differ if their shipped icon does.