Skip to content

horizonwiki/fire

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fire >_

Terminal fire animation written in Rust.

изображение

🌐 Language / Язык

🇷🇺 Русский  ·  🇺🇸 English


☁️ Overview

Fire CLI is an ultra-lightweight utility written in Rust that turns your terminal into a cozy fireplace. Thanks to direct buffer manipulation and zero heavy dependencies, the animation stays smooth even on the weakest hardware.

Why is this cool?

  • OS-Agnostic: Works anywhere Rust and libc are supported — Windows, macOS, Linux distros, or BSD.
  • Zero Logic Clutter: All visuals are built on standard output streams, guaranteeing operation in minimalist environments.

✨ Key Features

Feature Description
🎚️ Customization Full control over burn speed and flame intensity.
🎨 Themes A set of preset color schemes — from classic fire to magical blue.
🌚 Monochrome A dedicated mode for fans of classic ASCII art without color.
🚀 Performance Minimal resource usage thanks to the efficient Rust engine.

Tip

ASCII Engine: The fire visualization is based on ANSI escape sequences. For a perfect gradient, your terminal must support 24-bit color (TrueColor).


💻 Terminal Compatibility

On legacy systems (Windows 10 and below), standard consoles like cmd.exe or PowerShell.exe often struggle with intensive dynamic output, causing several visual issues:

  • ⚠️ Artifacts: "Garbage" control characters like ←[0K appearing on top of the animation.
  • 📉 Tearing: Slow stream processing causes noticeable frame tearing and flickering.
  • 🚫 TrueColor issues: Older consoles do not support 24-bit color.

For a flawless picture, use any modern terminal with Virtual Terminal (VT) Sequence support:

  • 🎨 Recommended: Windows Terminal, Alacritty, or WezTerm.
  • 🚀 Also great: Kitty, Foot, Konsole, or any other emulator with 24-bit color support.
  • 🛠️ Key requirement: The terminal must correctly handle control codes for the Rust engine's magic to work smoothly.

Tip

If you see strange symbols like ←[0K or the animation stutters — your current terminal is technically outdated. Time to upgrade!


🛠️ Building and Installation

❕ To compile and run Fire CLI, you need an up-to-date Rust toolchain (cargo, rustc) installed.

1. Building from Source

Clone the repository and build an optimized binary:

# Clone the repository
git clone https://github.com/horizonwiki/fire
cd fire

# Build the release version
cargo build --release

❕ After the build completes, the executable will be located in the /target/release/ directory.

2. Installing System-Wide

🐧 Linux & macOS

Copy the compiled binary to a standard system directory:

sudo cp target/release/fire /usr/local/bin/

🪟 Windows

  1. Create a folder for your utilities (e.g., C:\bin) and move fire.exe from target\release\ there.
  2. Press Win + R, type sysdm.cpl, go to Advanced → Environment Variables.
  3. Under "User environment variables", find Path, click "Edit", and add the path to your folder (e.g., C:\bin).
  4. Restart your terminal for the changes to take effect.

Tip

If you use the winget package manager, a one-command installation will be available in the future!


📥 Download

If you don't want to build from source, use the pre-built binaries:

📦 Direct Download (GitHub Releases)

Download the compiled binary for your architecture from the Releases page.

  • Windows: Download fire.exe, move it to a convenient folder, and add that folder to your system PATH.
  • Linux/macOS: Download fire, make it executable (chmod +x fire), and move it to /usr/local/bin/.

🪟 Windows (Winget)

winget install Horizon.Fire

🎮 Usage & Controls

Launch the animation with the simple fire command. Use the following flags for fine-tuning:

⚙️ Launch Options

Flag Full Name Description Values
-f --fps Set the frame rate 15–120 (default: 30)
-n-c --no-color Disable colors (ASCII mode)
-h --help Show the help menu

🎨 Themes

Flag Theme
-s, --std Classic orange fire (default)
-i, --ice Icy flame (blue tones)
-c, --classic Alternative retro-style fire
-p, --pink Pink neon fire
-b, --blue Blue neon flame

💡 Example Commands

# Launch ice fire at 60 FPS
fire -i -f 60

# Blue flame at 45 FPS
fire --blue --fps 45

# Classic ASCII art without color
fire --no-color

📖 Contribution Guide

If you have any suggestions, fixes, or patches to share, feel free to:

  • Open Issues and label them where possible, to make it easy to categorize features and bugs.
  • If you've solved a problem or made valuable changes, open a Pull Request on GitHub.

📷 Captures

🔹 Screenshots

Fire CLI Screenshot

🔹 Screencasts

Fire CLI Screencast


⚡ Maintainers


📄 License

This software is provided under the Apache License 2.0. View License

About

Terminal fire animation written in Rust.

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages