fcbbff26a7
The mark is an H whose crossbar is the horizon: a violet line edge to edge, the stems above it and their reflection below at a third, on whole units of a 16-unit grid so it stays sharp at 16 px. docs/media/brand holds the SVG masters (square icon, macOS tile, avatars, the mark for light and dark backgrounds), the two alternatives that were shown with it, the GitHub social preview and the Discord banner, and a README of what goes where and how to upload what only Ludovic's accounts can. `cargo run -p xtask -- icons` renders the masters (rsvg-convert) and packs, in plain Rust: packaging/icons/horizon.ico and horizon.icns, Linux's hicolor icons 16–512 and the scalable SVG, the game's run-time window icon, the avatars and the website's favicons. packaging/linux has .desktop entries for the launcher and the game. On Windows, build.rs embeds the .ico as icon resource 1 in horizon-client (and its tools) and horizon-launcher (winresource, a Windows-only build dependency); gpui loads that resource as the launcher's window icon. The game window sets the icon itself (X11, Windows) and names itself `horizon` on Wayland so the desktop entry matches. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
16 lines
672 B
Rust
16 lines
672 B
Rust
//! Embeds Horizon's icon (`packaging/icons/horizon.ico`) in the Windows executables, as icon
|
|
//! resource 1: Explorer and the task bar show it, and the window takes it as its icon.
|
|
fn main() {
|
|
let dir = std::env::var("CARGO_MANIFEST_DIR").unwrap_or_default();
|
|
let ico = format!("{dir}/../packaging/icons/horizon.ico");
|
|
println!("cargo:rerun-if-changed={ico}");
|
|
#[cfg(windows)]
|
|
if std::env::var("CARGO_CFG_TARGET_OS").as_deref() == Ok("windows") {
|
|
let mut resource = winresource::WindowsResource::new();
|
|
resource.set_icon(&ico);
|
|
if let Err(e) = resource.compile() {
|
|
panic!("embedding {ico}: {e}");
|
|
}
|
|
}
|
|
}
|