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.
This commit is contained in:
ZacharyZhang-NY committed 2026-09-27 17:41:15 -04:00
1 parent 7f2205c811
commit d3cfc71ead
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()
}