Commit Graph
31 Commits
Author SHA1 Message Date
ZacharyZhang-NY 3108f3265b Add translucency setting + apply to runtime panel alpha
Domain:
- AppearanceSettings gains translucency_pct (u8, 0..=100, default 40)
  with a clamping setter and serde round-trip coverage.
- DEFAULT_TRANSLUCENCY_PCT and MAX_TRANSLUCENCY_PCT exported for the
  shell.

Core:
- BrowserCore::set_translucency_pct delegates to the appearance struct;
  the existing reset_appearance covers the reset path.
- Integration test covers persistence into snapshot.appearance.

Render:
- chrome::sidebar::panel_bg(snapshot) replaces the static PANEL_BG
  constant, mapping the user's translucency_pct linearly into the alpha
  byte 0xff..0xb3. Sidebar (expanded + compact) and main pane consume
  the helper so changing the setting at runtime updates every glass
  surface in lock-step.

Form:
- Translucency row in chrome::appearance_form mirrors the design's
  static track + thumb visual driven by the persisted percentage, plus
  three preset chips (Solid 0 / Default 40 / Glassy 75) that mutate the
  setting through shell.set_translucency_pct.

Strict UX rule preserved: alpha never drops below 0xb3 so panels stay
readable without backdrop blur (which GPUI 0.2.2 doesn't expose).
2026-05-09 19:39:11 -04:00
ZacharyZhang-NY 3903004ede Surface unread counts on sidebar launcher rows
The design's Slack/Linear/Gmail rows show numeric badges (12, 3) that
real apps publish in their tab title prefix — "(12) Slack | …",
"(3) Inbox — Linear", "(99+) Gmail". Add a pure parser
ely_domain::parse_title_unread_count that recognises the leading
"(N)" pattern and surfaces it through BrowserTab::unread_count(); the
sidebar launcher row renders a glass pill badge whenever the count
is non-zero, capped at "99+" for very high counts.

No domain field, no fabrication: the badge appears only when a real
website publishes its own unread count via the title. Tests cover
canonical formats, non-prefixed titles, leading whitespace, and
non-numeric / overflow inputs.
2026-05-09 19:25:31 -04:00
ZacharyZhang-NY 71088bccb0 Add AppearanceSettings to ely_domain
Introduces a small persistent appearance contract: WallpaperTheme
(Dawn/Violet/Mint/Slate), ThemeMode (System/Light/Dark), reduce_motion.
Defaults to Dawn + System + motion-on. Field accessors and setters live
on the struct so the core can mutate without exposing internals; serde
support uses kebab-case so the on-disk form matches the design CSS
naming.

Tests cover defaults, mutation independence, and a JSON round-trip with
the kebab-case names. serde_json is added as a dev-dependency only —
the production crate does not depend on it.
2026-05-09 18:46:58 -04:00
ZacharyZhang-NY 1faa7423c1 Add Servo page zoom support 2026-05-09 12:32:44 -04:00
ZacharyZhang-NY a8d2688020 Record local diagnostics events 2026-05-09 06:12:05 -04:00
ZacharyZhang-NY 4e85f31dac Add diagnostics privacy controls 2026-05-09 04:47:45 -04:00
ZacharyZhang-NY e30fce9213 Add update policy controls 2026-05-09 04:13:41 -04:00
ZacharyZhang-NY 43ab4be548 Add sidebar collapse shortcut 2026-05-08 08:36:58 -04:00
ZacharyZhang-NY adf5b27207 Add tab group sidebar support 2026-05-08 07:16:17 -04:00
ZacharyZhang-NY 7e68857eb8 Add page notes panel 2026-05-08 06:53:31 -04:00
ZacharyZhang-NY bae3c7789f Add reading list progress percent 2026-05-08 06:43:38 -04:00
ZacharyZhang-NY 820054ff23 Track space sidebar width 2026-05-08 05:35:32 -04:00
ZacharyZhang-NY ada0a82da8 Add profile sync policy controls 2026-05-08 03:44:36 -04:00
ZacharyZhang-NY 38a847c27e Add sync object pause controls 2026-05-08 03:39:18 -04:00
ZacharyZhang-NY 569851eae9 Add favorite limit settings 2026-05-08 03:31:41 -04:00
ZacharyZhang-NY 6ba7fd611c Add privacy history settings 2026-05-08 03:19:43 -04:00
ZacharyZhang-NY 4bdbf5e0c5 Add general new tab settings 2026-05-08 03:13:37 -04:00
ZacharyZhang-NY 6750f60d52 Add search engine settings 2026-05-08 03:04:33 -04:00
ZacharyZhang-NY 23b108c8dd Add split view panes 2026-05-08 01:47:19 -04:00
ZacharyZhang-NY 84149ea4df Add site permission settings 2026-05-08 01:24:10 -04:00
ZacharyZhang-NY b8d2b291b2 Add reading list internal page 2026-05-08 00:57:59 -04:00
ZacharyZhang-NY e225fac222 Add bookmarks internal page 2026-05-08 00:44:43 -04:00
ZacharyZhang-NY 479737a8b2 Add sync settings status page 2026-05-08 00:16:56 -04:00
ZacharyZhang-NY 9e6cd216b0 Classify plugin permission risk 2026-05-07 22:38:19 -04:00
ZacharyZhang-NY cb3ac30b89 Validate plugin manifests 2026-05-07 22:34:34 -04:00
ZacharyZhang-NY 5682434ea3 Record download checksums 2026-05-07 22:07:03 -04:00
ZacharyZhang-NY 6d47b26090 Add profile download policy 2026-05-07 21:43:28 -04:00
ZacharyZhang-NY f93943ccfe Render downloads internal page 2026-05-07 21:30:39 -04:00
ZacharyZhang-NY d26ebdfb4c Record browsing history in core 2026-05-07 21:09:00 -04:00
ZacharyZhang-NY e0eb5b51b2 Archive closed browser tabs 2026-05-07 19:53:32 -04:00
ZacharyZhang-NY d9a27f3dc4 Initialize Rust GPUI browser shell 2026-05-07 18:27:15 -04:00