Theme · Platform: one platform for buttons and caps, icon themes, frosted panes

theme::Platform moves out of typography and shell's ControlsStyle folds
into it; the theme's platform starts as the system's. Window buttons Ely
draws, the title bar's layout and every key cap follow it, secondary
included, through typography::keys::keystroke; a title bar whose buttons
the OS draws follows the OS. primitives::IconTheme lays an owner's rules
by file name and extension over Ely's map, for every file icon.
shell::Vibrancy fills a pane with the palette's new glass, translucent
so a window opened Blurred shows its backdrop, solid under high contrast.
gpui 0.2.2 has no Mica; that line stays blocked.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
ZacharyZhang-NYandClaude Opus 5.5 committed 2026-09-27 17:41:15 -04:00
1 parent 53578e0525
commit f3c8cca4c9
30 files changed
+593 -162

No files matched your search

+9 -1
View File
@@ -11,8 +11,10 @@ use gpui::{
mod editing;
mod importing;
mod platform;
use super::Page;
use crate::script::Step;
use crate::ui::{section, specimen, specimens};
pub const PAGE: Page = Page {
@@ -21,7 +23,12 @@ pub const PAGE: Page = Page {
title: "Theme",
summary: "Tokens every component reads. Light and dark share one grammar.",
render,
script: &[],
script: &[
Step::Click("frosted-open"),
Step::Wait(700),
Step::ShotWindow("frosted", "frosted-window"),
Step::CloseWindow("frosted"),
],
};
fn render(window: &mut Window, cx: &mut App) -> AnyElement {
@@ -149,6 +156,7 @@ fn render(window: &mut Window, cx: &mut App) -> AnyElement {
)
.child(editing::editor(window, cx))
.child(importing::importing(window, cx))
.child(platform::platform(window, cx))
.into_any_element()
}