Bundle Geist as the body sans

The design's `--ely-font-sans` is Geist; we were registering only
Newsreader. Body text everywhere fell through to GPUI's
`.SystemUIFont` (SF Pro on macOS) — too humanist for the geometric,
calm tech aesthetic the design wants.

Bundle Geist-Regular (SIL OFL 1.1, 126 KB), register it alongside
Newsreader, and set the root window's `.font_family(SANS_FAMILY)`.
SERIF_FAMILY callsites continue to override per element so headlines
keep using Newsreader.

Only Regular is bundled — GPUI synthesizes weights from the metrics,
so 500/600 still read correctly. Bold/italic file additions are a
later polish.
This commit is contained in:
2026-05-09 21:12:56 -04:00
parent ed2d8ffac2
commit 573eaae4a8
4 changed files with 14 additions and 2 deletions
+2 -1
View File
@@ -9,7 +9,7 @@ use gpui::{
use super::chrome::command_match::visible_command_rows;
use super::chrome::{
panel_bg, panel_shadow, render_command_overlay,
SANS_FAMILY, panel_bg, panel_shadow, render_command_overlay,
render_topbar as render_topbar_chrome, render_wallpaper,
};
use super::sidebar::collapsed_sidebar_active;
@@ -69,6 +69,7 @@ impl ElyShell {
.on_action(cx.listener(Self::on_zoom_out))
.on_mouse_move(cx.listener(Self::on_window_mouse_move))
.capture_key_down(cx.listener(Self::on_command_overlay_key_down))
.font_family(SANS_FAMILY)
.text_color(rgb(colors::INK))
.child(render_wallpaper(snapshot.appearance.wallpaper()))
.child(