Skip to content

Use iOS's own colours in dark mode - #231

Draft
h3nock wants to merge 1 commit into
mainfrom
design/system-colours
Draft

h3nock wants to merge 1 commit into
mainfrom
design/system-colours

Conversation

@h3nock

@h3nock h3nock commented Nov 10, 2026

Copy link
Copy Markdown
Owner

What

In dark mode, the library screens now use iOS's own grouped colours instead of Remux's blue slate. These are Home, the server screens, Settings, Toolbar Keys, Shortcuts and the shortcut editors, and the server forms. Pages are black with #1C1C1E rows, as in iOS Settings, and sheets get iOS's raised #1C1C1E page with #2C2C2E rows. Connected uses iOS's green in dark mode too.

Why

Sheets already get iOS's colours, so at full height the session switcher turned iOS's opaque grey next to the slate around it. Light mode already used iOS's grouped colours. The slate was dark-mode only and matched just one terminal theme: Ghostty Default (#282C34), not Mocha (#1E1E2E) or Latte.

How

  • Removes RemuxAppPalette and its list helpers, so lists and forms keep iOS's default grouped styling.
  • Section headers, server icon tiles, dividers and the shortcut editor's own sections use the matching system colours: secondaryLabel, tertiarySystemFill, separator, and the grouped backgrounds.
  • The session forms keep their clear rows over the sheet's glass. Their flag is renamed usesGroupedSurfaces.
  • Removes seven unused terminal-chrome slate colours.
  • The terminal keeps its theme's colours. The Herdr banner and the trackpad HUD are unchanged here.

Before / after

Dark mode, iPhone 17 Pro simulator, iOS 27.2, same servers and data. Before is main at 6fd51de, after is this branch at 470d0db.

IMAGES

Validation

  • Builds with Xcode 27.2 for the iOS 27.2 simulator.
  • 11 screens shot before and after, in dark and light mode: the ones above, plus a server's New Session form, a shortcut collection, and the switcher at half height.
  • Light mode was compared pixel by pixel on all 11 screens. The only differences are the "Opened … ago" times, and Connected on the terminal's sheets, which follow the terminal theme's dark look.
  • Not checked: iOS 18, where sheets keep their regularMaterial background, which this PR doesn't change. Also not checked: Increase Contrast.

The library (Home, the server screens, Settings, Toolbar Keys, the shortcut
lists and editors, the server forms) painted a blue slate of its own in dark
mode, while sheets get iOS's colours: the session switcher at full height
turns iOS's opaque grey beside the slate. Light mode already used iOS's
grouped colours, and the slate matched only the Ghostty Default terminal
theme, not Mocha or Latte.

Lists and forms now keep iOS's default grouped styling, the hand-drawn
pieces (section headers, server icon tiles, dividers, the shortcut editor's
sections) use the matching system colours, and Connected uses iOS's green in
dark mode too. Light mode is meant to look the same. The session forms keep
their clear rows over the sheet's glass. Seven unused terminal-chrome slate
colours go too.
@coderabbitai

coderabbitai Bot commented Nov 10, 2026

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying getremux with  Cloudflare Pages  Cloudflare Pages

Latest commit: 470d0db
Status: ✅  Deploy successful!
Preview URL: https://8da9b1a5.getremux.pages.dev
Branch Preview URL: https://design-system-colours.getremux.pages.dev

View logs

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