From 932efbd58b65d4a18f535fc6925b1865070e8572 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Mon, 10 Aug 2026 09:31:09 -0700 Subject: [PATCH] Center the first-boot setup screen and fix its greeter animation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The setup progress screen stacked from row one while the greeter that precedes it was already centered, so first boot changed shape between its two frames. Center it on the same block height the ISO install dashboard uses — logo, blank, title, blank, bar, blank, tip — and repaint it if the VT resizes, which is the same virtio-gpu KMS handoff the greeter already watches for. The greeter's ttfx call never passed --xterm-colors, so it hit exactly the failure the comment above it describes: ttfx resolves even indexed stops to truecolor, and the console reduces 256-colour codes well but 24-bit ones badly. The gradient was being crushed rather than rendering as the indexed palette it was written for, and the settle colour drifted off the green logo drawn beneath it. --canvas-width was cols-1 to stay off the autowrap column, which held for tte. ttfx centres its text two columns right of plain centering, so cols-1 puts the animated logo a column off the static one and it jumps when the effect starts. Co-Authored-By: Claude Opus 5 (1M context) --- bin/omarchy-provision-owner | 43 ++++++++++++++++++++++++++++++++----- 1 file changed, 38 insertions(+), 5 deletions(-) diff --git a/bin/omarchy-provision-owner b/bin/omarchy-provision-owner index dd29534b..d1babf08 100755 --- a/bin/omarchy-provision-owner +++ b/bin/omarchy-provision-owner @@ -171,7 +171,11 @@ DARK="${CSI}90m" STATE_FILE=/run/omarchy-provision-owner.state FINALIZE_WARNING_FLAG=/run/omarchy-provision-owner.finalize-warning +# Rows the setup screen occupies: logo, blank, title, blank, bar, blank, tip. +SETUP_HEIGHT=$((LOGO_HEIGHT + 6)) +SETUP_TOP_ROW=1 DYNAMIC_ROW=$((LOGO_HEIGHT + 3)) +LAST_SETUP_SIZE="" tips=( "Super + Space opens the Omarchy menu for apps, settings, and more" @@ -201,6 +205,8 @@ term_cols() { printf '%s' "$cols" } +term_size() { stty size 2>/dev/null 2 ? cols - 2 : cols))" \ --anchor-text c \ --frame-rate 60 \ --reuse-canvas \ + --xterm-colors \ colorshift \ --gradient-stops 2 10 6 10 \ --gradient-frames 3 \