XcodesOrg / XcodesOrg/XcodesApp
Keep Dock entry for Xcode and Simulator always up to date
Nobody has claimed this yet.
- Dominant language
- Swift
- Stars
- 8.6k
- Forks
- 387
- Avg merge
- 6d 7h
- Merged PRs (30d)
- 3
Description
Xcodes is magic. Excellent work.
It would be icing on the cake—entirely unnecessary, but a quality-of-life flourish—if Xcodes could automatically update the dock entries for Xcode and the Simulator application to point to the active version of Xcode, when clicking "Make active"... so that I did not need to update these icons.
Upgrades to applications in the Dock work automatically if you replace an application with another at the same path. I have never looked into exactly how the Dock stores its links to applications, but quick testing confirms they are definitely only tied to the path and not a specific binary. (You can put any application at a path and it will be launched by the previously store Dock icon for another app at that path.)
One way to achieve this therefore would be for Xcodes to change it's current approach of offering an alias at /Applications/Xcode, by instead making the alias at /Applications/Xcode-13.4.0 (or whatever the current active version was) while that active version is renamed to /Applications/Xcode for the period it remains active. This would automatically ensure that your Dock icons for both Xcode and the Simulator within it always stayed up to date with the active version set by Xcodes.
An alternative considered would be instead to create a hard link to the active version of Xcode at /Applications/Xcode. However, this and the copy at the Xcode-13.4.0 path would diverge with any subsequent changes, taking up disk space and also meaning the long-term-archived copy might not contain what a user expects once they change their active copy. I have not fully thought through this hard link alternative so may not have this fully correct either. :)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at the code path behind “Make active” and inspect how Xcodes currently creates the /Applications/Xcode alias. Determine how the active Xcode and Simulator Dock targets should be updated without duplicating or diverging application data, then verify switching active versions preserves those Dock entries.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- macos, swift
- Domain
- desktop
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100