Skip to content

Overlay styles: Minimal disc, Menu Bar only, glass/flat background - #15

Merged
dinooo13 merged 7 commits into
mainfrom
overlay-styles
Sep 11, 2026
Merged

dinooo13 merged 7 commits into
mainfrom
overlay-styles

Conversation

@dinooo13

Copy link
Copy Markdown
Owner

Closes #7

What

An Overlay section in General with two card rows in the System Settings style, and the Appearance picker turned into the same kind of card row.

  • Style: Menu Bar, Minimal, Compact (default), and a dimmed Live card reserved for Overlay: Live transcript style #8. Each thumbnail renders the real OverlayPill statically at a sample level, so previews cannot drift from the overlay.
  • Background: Glass or Flat. Dimmed under Menu Bar. Flat is the window background colour with a hairline stroke.
  • Appearance: Auto / Light / Dark cards showing the Compact pill on a light desktop, a dark desktop, or split along the diagonal.

Styles

  • Minimal is a fixed 44 pt disc. It opens with a pulsing red dot, swaps to a five-bar wave after 0.7 s, then shows the spinner alone and the tick alone. Errors keep the Compact row so the message stays readable.
  • Menu Bar never presents the pill for recording, transcribing or done. The error pill still appears, so a failed paste is never silent.
  • Compact is unchanged.

Under the hood

  • Settings.overlayStyle (default compact) and Settings.overlayGlass (default true), decoded tolerantly like the other keys. liveTranscript is in the enum now so Overlay: Live transcript style #8 does not touch the settings format.
  • OverlayPill is the reusable pill; LevelBars takes count, height and opacity; PillBackground takes its shape so glass morphs between disc and capsule.
  • OverlayPanel sizes its box per style; Live gets room for text.
  • The settings setter applies appearance and overlay style only when their keys change. Re-assigning NSApp.appearance on every write made AppKit re-theme all windows under a forced Light or Dark, which lagged the card rows.

Critical path

No code between recordingStopped and inserted changed, so no benchmark.

Testing

swift test: 59 tests pass. New: overlayStylePersists, and missingKeysFallBackToDefaults covers both new keys. UI checked by hand in light and dark, all three styles, both backgrounds.

🤖 Generated with Claude Code

dinooo13 and others added 7 commits September 11, 2026 13:00
Adds an Overlay section to General with two card rows in the System
Settings style: Style (Menu Bar, Minimal, Compact, and a disabled Live
card for #8) and Background (Glass, Flat). The Appearance picker becomes
the same card row.

- Settings gains overlayStyle (default compact) and overlayGlass
  (default true), decoded tolerantly like the other keys.
- OverlayPill is the reusable pill; the settings cards render it
  statically at a sample level so previews cannot drift from the real
  overlay. LevelBars takes count, height and opacity.
- Minimal: pulsing dot for the first second, then eight short bars;
  spinner and tick alone on release. Errors keep the Compact row.
- Menu Bar only never presents the pill except for errors.
- Flat background is the window background colour with a hairline
  separator stroke.
- OverlayPanel sizes its box per style; Live gets room for text.

Closes #7

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
A fixed 44 pt circle holds the pulsing dot, then a five-bar wave, then
the spinner and the tick, so the shape never changes during a take.
PillBackground takes its shape; errors under Minimal keep the capsule
and the glass morphs between the two.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Thumbnails still lay out at 88×56 and are scaled, so their contents keep
their proportions.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…rast

The mini window is gone; each Appearance card now previews the default
overlay in light, dark or split. The dark desktop gradient is brighter
and every thumbnail has a hairline edge so it stands off a dark window.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Re-assigning NSApp.appearance on every settings write made AppKit
re-theme all windows under a forced Light or Dark, so the settings cards
lagged behind each click.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
The menu bar over a blue wallpaper is translucent with white items, so
the strip is the same faint white in both schemes and the glyph is white.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@dinooo13
dinooo13 merged commit 50fe4c2 into main Sep 11, 2026
1 check passed
@dinooo13
dinooo13 deleted the overlay-styles branch September 11, 2026 11:22
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.

Overlay styles: Minimal style + overlay style setting

1 participant