Repository navigation
feat: add app bundle script and app icon - #4
Closed
petercrocker wants to merge 1 commit into
Closed
petercrocker wants to merge 1 commit into
petercrocker wants to merge 1 commit into
Conversation
Add scripts/bundle-app.sh, which builds a release binary, wraps it in a minimal MacDirStat.app with an Info.plist and icon, ad-hoc signs it and optionally installs it to /Applications. Each build gets a unique CFBundleVersion so macOS icon caches keyed on bundle ID and version do not serve a stale icon after reinstalling. Add a full-bleed treemap app icon as an iconset; the script converts it to .icns with iconutil so macOS applies its own icon mask. Document app installation, the Xcode requirement for SDKs whose SwiftUI needs the SwiftUIMacros plugin, and fix the clone directory case.
petercrocker
marked this pull request as ready for review
October 3, 2026 10:10
Owner
|
Thanks for putting this together, @petercrocker! Since you opened this, |
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.
Summary
MacDirStat currently only runs via
swift run, so it never appears in /Applications, Launchpad or Spotlight, and has no icon. This adds a one-command way to build and install it as a proper macOS app.Key Changes
scripts/bundle-app.sh --installbuilds a release binary, wraps it inMacDirStat.appwith anInfo.plistand icon, ad-hoc signs it and installs it to/ApplicationsResources/AppIcon.iconset), converted to.icnsat build time so macOS applies its own icon maskCFBundleVersion, so macOS icon caches don't serve a stale icon after reinstallingSwiftUIMacrosplugin that recent SwiftUI SDKs need), and a fix for thecd macdirstatcase in the clone stepsDocumentation Updates
Resources/andscripts/Test Plan
scripts/bundle-app.shproducesbuild/MacDirStat.app;codesign --verify --strictpasses andplutil -lintpasses on the generatedInfo.plistscripts/bundle-app.sh --install, then launch from /Applications: icon shows in Finder, Dock and Cmd-TabNote: the icon artwork was generated with OpenAI's image generation tool.
🤖 Generated with Claude Code