Skip to content

Grouped list: clearer levels, release tags and a compact progress ring - #865

Draft
anciltech wants to merge 14 commits into
XcodesOrg:mainfrom
anciltech:feature/grouped-list-design
Draft

anciltech wants to merge 14 commits into
XcodesOrg:mainfrom
anciltech:feature/grouped-list-design

Conversation

@anciltech

@anciltech anciltech commented Sep 29, 2026 •

Copy link
Copy Markdown

Summary

Polish for the grouped Xcode list, one commit each:

  1. Shorter titles. Only the top level says "Xcode": Xcode 27 › 27.0 › 27.0 Beta 6. Rows under a group move the build number to the caption line next to the install path. The flat list is unchanged.

  2. Distinct levels. Minor rows and their versions were indented by the same amount (leaf rows have no chevron). Each level is now one step further in, connected by tree guides (├ └ │), tinted along the branch that contains the active Xcode. Group rows show a count badge. Icons stay 32pt, as in d905ae7.

  3. Release tags. Tinted capsules: orange for betas ("Beta 6"), purple for release candidates ("RC"), green "Latest" for the newest stable release. Group rows repeat them: the major version holding the newest release is tagged Latest, and a prerelease-only minor version shows its newest seed.

  4. Progress once, as a ring. While installing, the major group, minor group and version row each showed a spinner with truncated "Step 2 of 7: Downloading..." text. Only the deepest visible row shows progress now, as an App Store style ring (determinate while downloading, spinning for other steps) with a stop button in the middle. Step, percentage and download details are in the tooltip; the info pane keeps the full detail.

  5. Build number out of titles. "27.2 Beta 2 (27B5028f)" becomes "27.2 Beta 2"; the build moves to the row caption next to the install path and to a secondary line under the info pane title.

  6. Green checkmarks for installed Xcodes. The "make active" checkmark on installed rows was grey; it is now a green outline, and the active Xcode keeps the filled green check.

  7. Contrast and fewer icons. Only major version rows show the Xcode icon; not-installed icons go from 20% to 50% opacity; group rows show the tag before the count.

  8. Ring aligned with the buttons. The install control gets a column as wide as the Install/Open buttons, so the ring is centered under them.

  9. Active tag. The active Xcode gets a blue "Active" tag; while it is inside a collapsed group, the deepest visible group row carries the tag, and groups containing it say so in the subtitle: "Latest: 27.0 · Active: 27.0 Beta 6".

  10. Softer selection. The sidebar's system highlight can't be restyled and made tags and secondary text hard to read, in and out of focus. Rows draw their own highlight (accent color at 20% opacity) with regular text; tags keep their colors and buttons their normal style. Arrow keys still move the selection through the visible versions.

  11. Guides meet the title. Tree guide branches end at the row's title line instead of the middle of two-line rows.

  12. One checkmark per branch. Group rows show the active/select checkmark only while collapsed.

  13. Chevrons on the title line. Nested group rows align the chevron with the title, where the tree guide branch ends, instead of centering it on the two-line row.

  14. One Open/Install per branch. Expanded groups no longer repeat their latest release's Open/Install button (a branch could show three OPEN buttons for the same Xcode); like the checkmark and progress ring, it stays on the deepest visible row.

  15. Titles never truncate. With several tags plus the identical-builds and Apple silicon symbols, a version row's title could be squeezed to "2…". The title keeps its full width and the small symbols are dropped first.

New strings: Tag.Latest, Tag.Active (English only for now).

🤖 Generated with Claude Code

anciltech and others added 14 commits September 29, 2026 08:05
Only the top level repeats "Xcode". Rows under a version group show the
prerelease after a dash and move the build number to the caption line
next to the install path. The flat list is unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Minor version rows and their versions were indented by the same amount,
since leaf rows have no chevron. Each level is now one step further in,
connected by tree guides (├ └ │) tinted along the branch that contains
the active Xcode, and group rows show how many versions they contain.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Rows under a version group show the prerelease as a tinted tag after
the version ("27.0 [Beta 6]", orange for betas, purple for release
candidates) and the newest stable release gets a green "Latest" tag.
Group rows repeat this: the major version holding the newest release is
tagged Latest, and a minor version with only prereleases shows its
newest seed, so beta-only versions stand out when collapsed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
While installing, the major group, the minor group and the version row
each showed their own spinner with "Step 2 of 7: Downloading...", which
was truncated and repeated. Only the deepest visible row shows progress
now: an expanded group leaves it to its children.

The spinner and text are replaced by an App Store style ring: determinate
while downloading, spinning for the other steps, with a stop button in
the middle. The step, percentage and download details are in the
tooltip, and the info pane still shows the full detail.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
List rows and the info pane title showed the build in parentheses, e.g.
"27.2 Beta 2 (27B5028f)". Titles now show only the version; the build
moves to the row's caption next to the install path, and to a secondary
line under the info pane title.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The "make active" checkmark on installed Xcodes was grey, so installed
and not-installed rows looked alike at a glance. It is now a green
outline; the active Xcode keeps the filled green check.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Only major version rows show the Xcode icon; the nested rows already
  sit under it, and the repeated icons made the list busy.
- Not-installed icons were drawn at 20% opacity and nearly vanished;
  raise to 50%.
- Tags and captions stay legible on the selection highlight: tags turn
  white on a selected row, and captions and symbols use hierarchical
  styles instead of Color.secondary.
- Group rows show the release tag before the version count.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The ring is narrower than the buttons, so it sat right-aligned and out
of line with the buttons above and below it. Give the install control a
column as wide as the buttons and center it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The active (xcode-select'ed) Xcode gets a blue "Active" tag. While it is
hidden inside a collapsed group, the deepest visible group row carries
the tag instead, and every group containing it names it in the
subtitle: "Latest: 27.0 · Active: 27.0 Beta 6".

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…heckmarks

- Selection: the sidebar's system highlight can't be restyled and made
  tags and secondary text hard to read, in and out of focus. Rows now
  draw their own highlight (accent color at 20% opacity) with regular
  text, tags keep their colors, and buttons keep their normal style.
  Arrow keys still move the selection through the visible versions.
- Tree guides: branches meet the row's title line instead of the middle
  of the row, which sat below the title on two-line rows.
- Group rows only show the active/select checkmark while collapsed; once
  expanded, the version rows below carry it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
On two-line group rows the chevron was centered on the whole row, below
the title where the tree guide branch now ends.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
An expanded group repeated the Open or Install button of its latest
release, so a branch could show three OPEN buttons for the same Xcode.
Like the checkmark and progress ring, expanded groups now leave the
button to the version rows below them.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
With several tags and the identical-builds and Apple silicon symbols,
the title of a version row was squeezed to "2…". Keep the title at its
full width and drop the small symbols first when the row is too narrow.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant