Skip to content

feat: add OLED mode - #372

Merged
Slush97 merged 2 commits into
Slush97:mainfrom
oldreceipt:feat/oled-mode
Aug 31, 2026
Merged

Slush97 merged 2 commits into
Slush97:mainfrom
oldreceipt:feat/oled-mode

Conversation

@oldreceipt

@oldreceipt oldreceipt commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

Summary

  • add a persisted OLED mode toggle in Settings > Appearance
  • switch the app canvas to true black while retaining near-black elevated surfaces
  • keep the Electron window backing color in sync to avoid gray flashes

Closes #371

Validation

  • manually verified in the Windows Electron app
  • pnpm vitest run src/lib/oledMode.test.ts electron/main/services/settingsMigration.test.ts
  • pnpm typecheck
  • pnpm lint
  • pnpm i18n:check
  • pnpm build
  • pnpm test (101 files and 1,275 tests passed; 12 unrelated existing Windows platform/CRLF assertions failed in steamRoots, bottleLaunch, launchOptions, and performanceConfig)

oldreceipt and others added 2 commits August 31, 2026 22:39
- Seed the OLED theme before first paint via preload argv
  (additionalArguments), killing the grey startup flash the mode
  exists to remove; Layout skips applying until settings arrive
- Move color-scheme: dark to base :root so UA-drawn controls stop
  flipping light/dark with the OLED toggle
- Derive scrim-bottom and gradient preview swatches from the
  bg-primary token so they track OLED black
- Match the new Appearance divider to its bg-white/5 siblings
- Single source for the base color: BACKGROUND_BASE moves to the
  DOM-free oledMode.ts (main-safe), dropping the third #0f0f0f copy
- Read settings once in createWindow; extract
  syncWindowBackgroundWithSettings mirroring the forge-bridge pattern

Claude-Session: https://claude.ai/code/session_01R3Gh42PwckvbxJhY4WGmer
@Slush97
Slush97 merged commit 2c7c56c into Slush97:main Aug 31, 2026
1 check passed
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.

True black/OLED theme

2 participants