XcodesOrg / XcodesOrg/XcodesApp

Keep Dock entry for Xcode and Simulator always up to date

Open
#224 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.