Files
horizon-airdef/packaging/macos/background.html
T
Ludovic Marie a248e9242a Ship the launcher as Horizon.app in a .dmg, and in Linux's menus
macOS: packaging/macos/package.sh (run by launcher.yml) builds Horizon.app (Info.plist, bundle
id dev.horizon.launcher, macOS 11+, the .icns), signs it ad hoc, and makes the two release
assets: horizon-launcher-macos-arm64.dmg, the installer (the app and an Applications link over
a background, laid out by dmgbuild without a GUI), and the .zip the launcher updates from. A
launcher inside the app replaces the whole bundle: copied beside it with ditto, swapped in by
renames, restarted; a bare binary, as older launchers are, still finds its binary in the zip.
A macOS test zips, unpacks, swaps and re-verifies a signed bundle. Signing for real is a
MACOS_SIGN_IDENTITY away (packaging/macos/README.md, with what Gatekeeper asks meanwhile).

Linux: release builds keep horizon-launcher.desktop (with the binary's current path),
horizon.desktop (hidden, for the game window's icon) and the hicolor icons under
$XDG_DATA_HOME, without root; `horizon-launcher desktop-entry --remove` takes them out and
stops it, `desktop-entry` puts them back.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 00:08:40 +02:00

18 lines
1.2 KiB
HTML

<!doctype html>
<!-- The .dmg window's background (background.png 660x420, background@2x.png 1320x840).
Render: from website/, node -e with Playwright at deviceScaleFactor 1 and 2 (see README). -->
<meta charset="utf-8"><style>
@font-face{font-family:Geist;src:url(../../website/public/fonts/Geist-Medium.woff2);font-weight:500}
@font-face{font-family:"Geist Mono";src:url(../../website/public/fonts/GeistMono-Regular.woff2)}
html,body{margin:0;width:660px;height:420px;overflow:hidden;background:#fafafc;font-family:Geist;color:#16181f}
.arrow{position:absolute;left:262px;top:199px;width:136px;height:1px;background:#5b3fd6}
.arrow::after{content:"";position:absolute;right:-1px;top:-4px;width:8px;height:8px;border-top:1px solid #5b3fd6;border-right:1px solid #5b3fd6;transform:rotate(45deg)}
.cap{position:absolute;left:0;right:0;top:346px;text-align:center;font:11px "Geist Mono";letter-spacing:.06em;color:#646875}
.word{position:absolute;left:24px;top:22px;display:flex;align-items:center;gap:8px;font-weight:500;font-size:13px}
.word img{width:16px}
</style><body>
<div class="word"><img src="../../docs/media/brand/mark.svg" alt="">Horizon</div>
<div class="arrow"></div>
<div class="cap">DRAG HORIZON TO APPLICATIONS</div>
</body>