Repository navigation
Build a styled DMG with an Applications drop target - #8
Merged
Merged
Conversation
dmgbuild writes the Finder layout into the image's .DS_Store, so the window background, icon positions and Applications symlink work on headless CI without scripting Finder. The background is generated in Core Graphics to match the app icon. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YXLtjqcyvZ1VP9uK9jnMuR
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The release DMG was a bare
hdiutil createof the app folder, with no Applications shortcut and no layout. It now opens to a fixed 640×400 window: a neon background matching the app icon, the app on the left, an/Applicationssymlink on the right to drag it onto, and the app icon as the volume icon.Decisions
.DS_Storelayout directly. create-dmg drives Finder through AppleScript, which is unreliable on headless CI runners. It runs throughuvxpinned todmgbuild==1.6.7, so CI installsuvalongside Task.Scripts/generate-dmg-background.swiftrenders 1x and 2x PNGs thattiffutilcombines intoResources/dmg-background.tiff, which is committed likeAppIcon.icns. Regenerate withtask dmg-background. The icon positions inResources/dmg-settings.pymust match the constants in the script.task notarizestill signs the output file.Verifying
task build-dmg, then open.build/pkg/BrowserSchedule.dmg. The window should show the background with both icons centred in their halos, readable labels, and no clipping at the bottom. Dragging the app onto Applications should install it.🤖 Generated with Claude Code
https://claude.ai/code/session_01YXLtjqcyvZ1VP9uK9jnMuR