Add layered dawn wallpaper to shell background

Designs call for a radial-gradient dawn (cream base + pink upper-right
glow + blue lower-left glow). GPUI 0.2.2 only supports linear gradients,
so the wallpaper is composed of a cream base layer with two diagonal
linear gradients that fade to transparent at ~60% — the perceived effect
matches the design's softness without needing radial-gradient support.

Wallpaper is isolated to chrome::wallpaper so future appearance themes
(violet, mint, slate) extend the enum without touching the shell.
This commit is contained in:
2026-05-09 17:52:56 -04:00
parent 7dfefac569
commit dcd4bb4c48
4 changed files with 68 additions and 5 deletions
+2 -5
View File
@@ -13,6 +13,7 @@ use gpui_component::{
scroll::ScrollableElement,
};
use super::chrome::{WallpaperTheme, render_wallpaper};
use super::sidebar::{collapsed_sidebar_active, render_command_bar_identity};
use super::{ElyShell, ShellState, archive_labels::archive_detail_label};
@@ -66,12 +67,8 @@ impl ElyShell {
.on_action(cx.listener(Self::on_toggle_sidebar))
.on_action(cx.listener(Self::on_zoom_in))
.on_action(cx.listener(Self::on_zoom_out))
.bg(linear_gradient(
135.0,
linear_color_stop(hsla(20.0 / 360.0, 0.35, 0.92, 1.0), 0.0),
linear_color_stop(hsla(220.0 / 360.0, 0.25, 0.88, 1.0), 1.0),
))
.text_color(rgb(colors::INK))
.child(render_wallpaper(WallpaperTheme::Dawn))
.child(
div()
.absolute()