Splash Mode

splash mode

Splash mode transforms blaeckfetch into a retro console-inspired splash screen with animated starfield backgrounds and optional custom images. Press any key to dismiss, or it auto-closes after the configured timeout. Perfect for shell startup animations.

Launching Splash Mode

blaeckfetch --splash
blaeckfetch --splash --center

Add it to your shell RC file (.zshrc, .bashrc) for a startup splash.

Background Images

Add a background image in your config:

[splash]
image = "~/.config/blaeckfetch/space.png"
stretch = "fill"        # fill, fit, or crop

Supported formats: PNG and JPEG.

Images are converted to half-block characters (▄▀█) — every cell packs two vertical pixels using foreground and background colors. The conversion is pure Rust with no external tools.

On truecolor terminals (iTerm2, WezTerm, Kitty, Ghostty, Alacritty), images render with full 24-bit RGB. Terminals without truecolor (e.g. macOS Terminal.app) automatically fall back to 256-color approximation.

Stretch Modes

  • fill — stretch to fit the canvas (default)
  • fit — letterbox to preserve aspect ratio
  • crop — fill and trim the edges

Full-Resolution Inline Images

Terminals that support inline images (iTerm2, WezTerm, Ghostty, kitty) can render the background at full pixel resolution instead of half-block ASCII. blaeckfetch auto-detects this — no config needed.

To force a specific mode:

[splash]
render_mode = "image"   # force inline image (iTerm2 protocol)
render_mode = "ascii"   # force half-block characters
render_mode = "auto"    # auto-detect (default)

Limitations

  • Inline image mode uses the iTerm2 image protocol. Terminals that don't support it will show nothing — use render_mode = "ascii" as a fallback.
  • Image resizes on terminal resize may briefly flicker.
  • VHS and screen recorders capture the half-block fallback, not the inline image.

Alignment

Control horizontal alignment via CLI flags or config:

blaeckfetch --splash --left
blaeckfetch --splash --center
blaeckfetch --splash --right
[splash]
align = "left"  # left (default), center, or right

Full Splash Configuration Reference

KeyTypeDefaultDescription
imagestringPath to background image (PNG/JPEG)
stretchstring"fill"fill (stretch), fit (letterbox), crop
widthintauto/68Canvas width in columns
heightintauto/23Canvas height in rows
timeoutint120Seconds before auto-close
star_brightnessint30Star detection threshold (0–255)
render_modestring"auto"auto (detect terminal), image (force iTerm2), ascii (force half-block)
alignstring"left"left, center, or right (CLI flags override)
min_widthint10Minimum canvas width in columns
min_heightint5Minimum canvas height in rows
max_widthintMaximum canvas width in columns
max_heightintMaximum canvas height in rows
entrancestring"slow"Entrance animation: slow (~1.2s), fast (~400ms), instant
exitstring"slow"Exit animation: slow (~400ms), fast (~200ms), instant

Backward Compatibility

The config section name [boot] still works as an alias for [splash].