Running bofa
The main command is simple:How It Works
When you runbofa, the tool:
- Detects your terminal environment - If output is not a TTY or
TERM=dumb, it falls back to plain text - Checks Unicode support - Tests if your terminal encoding supports Unicode characters like
✦❖✺ - Displays the intro - Shows “HAVE YOU HEARD OF BOFA?” with one of three random effects
- Plays an interlude (75% chance) - A VHS glitch effect with the text repeated
- Shows the punchline - Displays “BOFA DEEZ NUTS!!!” with fireworks, spotlights, and glitter effects
Animation Sequence
Intro Effects (Random Selection)
The intro uses one of three effects, chosen randomly:Color Shift (33% chance)
Color Shift (33% chance)
A horizontal rainbow gradient that cycles through the text twice.
Spotlights (33% chance)
Spotlights (33% chance)
Four spotlights search the terminal for 160 frames before revealing the text with a radial rainbow gradient.
Spray (34% chance)
Spray (34% chance)
Text sprays in from a random direction (north, northeast, east, southeast, south, southwest, west, northwest, or center).
Interlude Effect (75% probability)
After the intro, there’s a 75% chance of showing a VHS tape glitch effect:- 140 frames of total glitch time
- 22% chance per line of glitch lines
- 3% chance of noise
- Rainbow glitch colors with white accents
__init__.py:249-261:
Finale Effects (Always Plays)
The punchline is revealed through a sequence of three effects:-
Fireworks - Fireworks explode anywhere on screen with rainbow colors
- Launch delay: 12 frames
- Firework volume: 12% of canvas
- Random Unicode or ASCII symbol per firework
-
Spotlights - Five spotlights illuminate the final text
- Search duration: 120 frames
- Variable search speed: 0.7-1.4
- Wider beams with 1.25x ratio and 25% falloff
-
Glitter - A diagonal highlight sweep across the text
- Brightness: 2.6x
- Width: 14 characters
- Random diagonal direction
Unicode vs ASCII Mode
The tool automatically detects if your terminal supports Unicode:- Confetti border:
✦✧❖✺✹✷✸✶✱✲✳✴✵✼✽❇❈❉❊*+x~^@ - Text decorations:
✦and❇symbols around headers - Firework symbols:
✦✧❇❈✺*+x
- Confetti border:
*+x~^@ - No text decorations
- Firework symbols:
o*+x
Terminal Compatibility
The animation runs at 90 FPS with the canvas centered in your terminal:Keyboard Interrupt Handling
You can pressCtrl+C at any time to skip the animation. The tool catches KeyboardInterrupt and displays the plain text immediately:
Rainbow Colors
All effects use the same 7-color rainbow gradient:Text Width Calculation
The tool automatically sizes the text display based on your terminal width:- Minimum width: 34 characters
- Maximum width: 120 characters
- Default fallback: 78 characters (80 - 2 for padding)