feat(installer): staged banner reveal at 40ms/line
Read banner.txt line by line with a 40ms sleep between each, then clear and redraw the bordered gum-style version. 5-line banner × 40ms = 200ms total reveal — slow enough to land an aesthetic on the first frame, fast enough that the operator never feels it as lag. Pure cosmetic; no functional change to the install flow.
This commit is contained in:
parent
55221a6af2
commit
a3b3d29b38
1 changed files with 15 additions and 0 deletions
|
|
@ -69,6 +69,21 @@ banner() {
|
||||||
local vline="veilor-os ${ver} · ${d} · live"
|
local vline="veilor-os ${ver} · ${d} · live"
|
||||||
|
|
||||||
if [[ -r $BANNER_FILE ]]; then
|
if [[ -r $BANNER_FILE ]]; then
|
||||||
|
# v0.6: staged line-by-line reveal of the banner before the
|
||||||
|
# gum-style border draws around it. 40ms/line gives a subtle
|
||||||
|
# "typewriter" feel — 5 lines × 40ms = 200ms total, fast enough
|
||||||
|
# not to feel laggy but slow enough to land an aesthetic on the
|
||||||
|
# very first frame the user sees. Once the reveal finishes we
|
||||||
|
# clear and re-draw with the bordered gum-style version so the
|
||||||
|
# operator never sees both stacked on top of each other.
|
||||||
|
local line
|
||||||
|
while IFS= read -r line; do
|
||||||
|
printf ' %s\n' "$line"
|
||||||
|
sleep 0.04
|
||||||
|
done < "$BANNER_FILE"
|
||||||
|
sleep 0.08
|
||||||
|
clear
|
||||||
|
|
||||||
if [[ $TUI == gum ]]; then
|
if [[ $TUI == gum ]]; then
|
||||||
# gum style: rounded border, banner + blank line + version line.
|
# gum style: rounded border, banner + blank line + version line.
|
||||||
gum style --border rounded --margin "0 2" --padding "1 3" \
|
gum style --border rounded --margin "0 2" --padding "1 3" \
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue