Skip to content

feat(desktop-gpui): macOS control styling across Cap's windows - #3484

Merged
richiemcilroy merged 16 commits into
mainfrom
feat/gpui-glass-app
Oct 28, 2026
Merged

richiemcilroy merged 16 commits into
mainfrom
feat/gpui-glass-app

Conversation

@richiemcilroy

@richiemcilroy richiemcilroy commented Oct 27, 2026 •

Copy link
Copy Markdown
Member

Stacked on #3456. Restyles Cap's own windows to match how macOS 27 draws its controls, measured from macOS's own controls captured by scripts/glass-reference/gallery.swift (key window, light and dark).

Following Apple's rule that glass does not stack on glass, controls inside Cap's glass windows take the flat in-window style macOS uses there, not refractive panes.

So far:

  • Settings switches: the system mini switch (36 x 16 track, 22 x 14 capsule knob).
  • Settings pop-ups: the value as plain text and a 20 pt chip with an up-down chevron, no border.
  • Settings buttons: capsules with a soft fill, accent for the prominent family.
  • Main window: capture source cards and device rows drop the gradient, outline and lift for a flat soft fill; the mode switcher is a segmented control with a raised selection.

Still to do: dropdown menus, the recordings library, the editor, segmented controls and text fields, then side-by-side comparisons against the Apple gallery on macOS and the cross-OS check.

Draft and held with the rest of the stack.

RetriggerView in GreptileConfidence Score: 5/5

The reviewed changes appear safe to merge.

Summary

Restyles settings controls and the main window to match macOS controls.

  • Settings buttons use soft capsules, with accent color for prominent actions.
  • Settings pop-ups show plain values beside a round up-down chevron chip.
  • Settings switches use the compact size of macOS mini switches.
  • Capture cards and device rows use flat fills on the main window.
  • The mode selector shows its selected segment as a raised capsule.
  • Window capture starts picking the window under the pointer again.
  • Picker glass panes gain two fine edges over the captured desktop.

Reviewed the full PR because the previous and current heads have different merge bases with the target. Checks were static; the native UI was not run.

Reviews (2) · Last reviewed commit: "chore(desktop-gpui): drop comments that ..." · Reviewed by Greptile

@vercel

vercel Bot commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
cap-status Ready Ready Preview Oct 28, 2026 2:57am UTC

@capy-ai capy-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Capy found no issues.

View 2 other findings in Capy.

Open in Capy

Comment thread apps/desktop-gpui/src/ui/select.rs Outdated
Comment on lines +40 to +41
/// The system pop-up's look: the value as plain text, then an up-down
/// chevron in a round chip of this fill.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Comments repeat the code

The new comment above chip describes the appearance already shown by the field and render code. AGENTS.md requires comments to explain non-obvious context and bans comments that merely narrate code. The new comment above thumb() repeats its return values in the same way. Remove these comments before merging to meet that requirement.

Context Used: AGENTS.md (source)

Prompt To Fix With AI
This is a comment left during a code review.
Path: apps/desktop-gpui/src/ui/select.rs
Line: 40-41

Comment:
**Comments repeat the code**

The new comment above `chip` describes the appearance already shown by the field and render code. `AGENTS.md` requires comments to explain non-obvious context and bans comments that merely narrate code. The new comment above `thumb()` repeats its return values in the same way. Remove these comments before merging to meet that requirement.

**Context Used:** AGENTS.md ([source](https://github.com/capsoftware/cap/blob/main/AGENTS.md))

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

@capy-ai capy-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Capy found no issues.

Open in Capy

@capy-ai capy-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Capy found no issues.

Open in Capy

@blacksmith-sh

This comment has been minimized.

@capy-ai capy-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Capy found no issues.

Open in Capy

@richiemcilroy

Copy link
Copy Markdown
Member Author

@greptileai

@capy-ai capy-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Capy found no issues.

Open in Capy

@capy-ai capy-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Capy found no issues.

Open in Capy

@richiemcilroy
richiemcilroy changed the base branch from feat/gpui-picker-glass to main October 28, 2026 06:41
@richiemcilroy
richiemcilroy merged commit dadbcb5 into main Oct 28, 2026
57 checks passed

This branch was successfully deployed

2 active deployments
Preview – cap-web — 5d0155df Deployed Oct 28, 2026 by vercel[bot]
Preview – cap-status — 5d0155df Deployed Oct 28, 2026 by vercel[bot]
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