T17: Appearance: every theme as a card over a small window in its colors, a separate dark theme with its own grid, font family, size, line height and ligatures, cursor style and blink over a live prompt, opacity by whole percents, blur, padding; a theme change re-dresses the chrome at once; a change the store refuses says why at the top of the page
CI / platforms (windows-latest) (push) Failing after 9s
CI / macos (push) Failing after 10m6s
CI / platforms (ubuntu-24.04) (push) Canceled after 0s

This commit is contained in:
ZacharyZhang-NY committed 2026-10-14 22:14:47 -04:00
1 parent 7ef2ea0106
commit f2cc16fd94
6 files changed
+491 -15

No files matched your search

+11
View File
@@ -65,6 +65,17 @@ pub fn start(cx: &mut App) -> anyhow::Result<()> {
"settings: font_family is {family:?}, which is not installed"
);
themes::apply(cx);
let chosen =
|settings: &settings::Settings| (settings.theme.clone(), settings.dark_theme.clone());
let mut worn = chosen(SettingsStore::get(cx));
cx.observe_global::<SettingsStore>(move |cx| {
let now = chosen(SettingsStore::get(cx));
if now != worn {
worn = now;
themes::apply(cx);
}
})
.detach();
Ok(())
}