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

+4
View File
@@ -9,6 +9,7 @@ mod media;
mod messaging;
mod onboarding;
mod palette;
mod platform;
mod project;
mod syntax;
mod tokens;
@@ -32,6 +33,7 @@ pub use media::MediaSizes;
pub use messaging::MessagingSizes;
pub use onboarding::OnboardingSizes;
pub use palette::{HUE_NAMES, Mix, Palette, Syntax};
pub use platform::Platform;
pub use project::ProjectSizes;
pub use syntax::{SyntaxTheme, syntax_themes};
pub use tokens::{
@@ -69,6 +71,7 @@ pub struct Theme {
pub font_family: SharedString,
pub mono_family: SharedString,
pub reduced_motion: bool,
pub platform: Platform,
}
impl Global for Theme {}
@@ -97,6 +100,7 @@ impl Theme {
font_family: "Inter".into(),
mono_family: "JetBrains Mono".into(),
reduced_motion: false,
platform: Platform::current(),
});
}