diff --git a/bin/assets/icon/ecode-macos.png b/bin/assets/icon/ecode-macos.png index b6c00d48b..b75ebf7f7 100644 Binary files a/bin/assets/icon/ecode-macos.png and b/bin/assets/icon/ecode-macos.png differ diff --git a/bin/assets/icon/ecode.icns b/bin/assets/icon/ecode.icns index 96b1d6387..ec9443fd5 100644 Binary files a/bin/assets/icon/ecode.icns and b/bin/assets/icon/ecode.icns differ diff --git a/bin/assets/icon/ee-macos.png b/bin/assets/icon/ee-macos.png index df9dd9c1f..9707c8fa5 100644 Binary files a/bin/assets/icon/ee-macos.png and b/bin/assets/icon/ee-macos.png differ diff --git a/bin/assets/icon/ee.icns b/bin/assets/icon/ee.icns index d90cb6970..4d834a1cb 100644 Binary files a/bin/assets/icon/ee.icns and b/bin/assets/icon/ee.icns differ diff --git a/bin/assets/icon/eeiv-macos.png b/bin/assets/icon/eeiv-macos.png index d9caf91e5..324de425c 100644 Binary files a/bin/assets/icon/eeiv-macos.png and b/bin/assets/icon/eeiv-macos.png differ diff --git a/bin/assets/icon/eeiv.icns b/bin/assets/icon/eeiv.icns index 8aeeef63a..d362f6034 100644 Binary files a/bin/assets/icon/eeiv.icns and b/bin/assets/icon/eeiv.icns differ diff --git a/bin/assets/icon/eproc-macos.png b/bin/assets/icon/eproc-macos.png index 10663e475..f3bd27663 100644 Binary files a/bin/assets/icon/eproc-macos.png and b/bin/assets/icon/eproc-macos.png differ diff --git a/bin/assets/icon/eproc.icns b/bin/assets/icon/eproc.icns index c6d5377b6..726209b4d 100644 Binary files a/bin/assets/icon/eproc.icns and b/bin/assets/icon/eproc.icns differ diff --git a/bin/assets/icon/eterm-macos.png b/bin/assets/icon/eterm-macos.png index 656f0debc..a16bdfd2f 100644 Binary files a/bin/assets/icon/eterm-macos.png and b/bin/assets/icon/eterm-macos.png differ diff --git a/bin/assets/icon/eterm.icns b/bin/assets/icon/eterm.icns index 73e51d71f..8d4077bc4 100644 Binary files a/bin/assets/icon/eterm.icns and b/bin/assets/icon/eterm.icns differ diff --git a/bin/unit_tests/assets/fontrendering/eepp-ui-richtext.webp b/bin/unit_tests/assets/fontrendering/eepp-ui-richtext.webp index cd92af5b2..d2a28c8d9 100644 Binary files a/bin/unit_tests/assets/fontrendering/eepp-ui-richtext.webp and b/bin/unit_tests/assets/fontrendering/eepp-ui-richtext.webp differ diff --git a/projects/scripts/generate_app_icons.py b/projects/scripts/generate_app_icons.py index beef38b75..5210ea3a9 100755 --- a/projects/scripts/generate_app_icons.py +++ b/projects/scripts/generate_app_icons.py @@ -4,9 +4,10 @@ For every application this derives the 256x256 .png runtime window icon and, where platform packaging needs them, the Windows .ico, the MinGW .res/.x64.res COFF resource objects, and the macOS .icns container. The shared PNG uses -Breeze-like small-icon margins; the macOS runtime PNG and ICNS use separate -transparent insets to fit neighboring Dock icons. Windows ICO entries retain -their original full-size artwork. +Breeze-like small-icon margins; the macOS runtime PNG and larger ICNS entries +use matching transparent insets to fit neighboring Dock icons. Smaller ICNS +entries keep Breeze-like margins. Windows ICO entries retain their original +full-size artwork. The binary layouts intentionally mirror the historical artifacts: @@ -38,23 +39,20 @@ import zlib PNG_SIZE = 256 # Breeze's colorful icon grid uses 2px margins at 32px and 4px at 64px. -# Larger macOS icons get progressively more breathing room. These are visual +# Larger macOS icons match the runtime PNG's artwork bounds so the Dock icon +# does not change size when the application starts or exits. These are visual # design choices, not mandated dimensions in Apple's icon guidelines. SMALL_ARTWORK_FRACTION = 0.875 -MEDIUM_ARTWORK_FRACTION = 0.85 -LARGE_ARTWORK_FRACTION = 0.824 -# SDL's Cocoa backend displays the single runtime PNG larger than .icns icons -# in the Dock. This ratio brings its visible bounds in line with neighboring -# icons in the reference Dock screenshot. -MACOS_RUNTIME_ARTWORK_FRACTION = 0.8 +# SDL's Cocoa backend uses this single PNG while the app is running. Match its +# artwork fraction in the larger ICNS entries so the Dock shows the same size +# for the running and closed app. +MACOS_RUNTIME_ARTWORK_FRACTION = 0.824 def macos_artwork_fraction( size ): if size <= 64: return SMALL_ARTWORK_FRACTION - if size <= 128: - return MEDIUM_ARTWORK_FRACTION - return LARGE_ARTWORK_FRACTION + return MACOS_RUNTIME_ARTWORK_FRACTION # Sizes requested from the .icns entry table below (plus the ICO sizes and # PNG_SIZE), rendered natively from the SVG instead of resampled.