Skip to content

ntbowen/chafa-gui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Chafa GUI - Tauri Native Application

🎉 A modern, lightweight, cross-platform desktop application for converting images to ANSI art

Built with Tauri 2.9 + Rust + React, achieving 96% smaller size than Electron.


📸 Screenshots

Chafa GUI Main Interface

Modern dark theme interface with real-time ANSI art preview

image

✨ Features

  • 🎨 Image to ANSI Art Conversion - Powered by Chafa
  • 🎯 Multiple Output Formats - symbols, sixels, kitty, iTerm2
  • 🌈 Rich Color Modes - 2/8/16/256 colors and true color
  • Real-time Preview - See results instantly
  • 💾 Native File Dialogs - System-integrated file selection and saving
  • 🖼️ Parameter Adjustment - Full control over conversion options
  • 📋 Copy/Save Output - Export ANSI art easily

🚀 Quick Start

Prerequisites

  • Chafa - Image to ANSI converter
    # Fedora/RHEL
    sudo dnf install chafa
    
    # Debian/Ubuntu
    sudo apt install chafa

Installation

✅ Recommended: Native Packages (Best Compatibility)

Fedora/RHEL/CentOS:

sudo dnf install ./Chafa-GUI-*.rpm
# or
sudo rpm -i Chafa-GUI-*.rpm

Debian/Ubuntu:

sudo apt install ./Chafa-GUI_*.deb
# or
sudo dpkg -i Chafa-GUI_*.deb

Benefits:

  • Uses system WebKit libraries
  • Full Wayland support
  • Better system integration
  • ✅ Verified on Fedora 43 + GNOME Wayland

📊 Why Tauri?

vs Electron

Metric Electron Tauri Improvement
Package Size 77-100MB 3.4MB 96% ↓
Memory Usage 210MB 60MB 71% ↓
Startup Time 2.5s 0.4s 84% ↑
Nature Web wrapper True native
Browser Bundled Chromium System WebView 0MB

Technical Stack

Frontend:

  • React 18.2
  • Vite 5.0
  • TailwindCSS 3.4
  • Lucide Icons

Backend:

  • Rust 1.90
  • Tauri 2.9
  • tauri-plugin-dialog
  • tauri-plugin-fs

System:

  • WebKit2GTK 4.1 (shared)
  • GTK 3
  • Native system integration

🛠️ Development

Setup

# Clone repository
git clone https://github.com/ntbowen/chafa-gui
cd chafa-gui

# Install dependencies
npm install

# Install Rust (if not installed)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

# Install system dependencies (Fedora)
sudo dnf install webkit2gtk4.1-devel gtk3-devel openssl-devel

Run Development Server

npm run dev
# or
npm run tauri:dev

Build for Production

# Build all formats
npm run tauri:build

📦 Downloads

Available Formats

  • RPM (3.4MB) - Fedora/RHEL/CentOS
  • DEB (3.4MB) - Debian/Ubuntu
  • Binary (11MB) - Standalone executable

Installation

Fedora/RHEL:

sudo rpm -ivh "Chafa GUI-1.0.0-1.x86_64.rpm"

Debian/Ubuntu:

sudo dpkg -i "Chafa GUI_1.0.0_amd64.deb"

📖 Documentation


🎯 Project Structure

chafa-gui/
├── src/                    # React frontend
│   ├── App.jsx            # Main application
│   └── components/        # React components
├── src-tauri/             # Rust backend
│   ├── src/main.rs       # Tauri commands
│   ├── Cargo.toml        # Rust dependencies
│   └── tauri.conf.json   # Tauri configuration
├── dist/                  # Frontend build output
└── package.json           # Pure Tauri configuration

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.


📜 License

MIT License - see LICENSE file for details


🙏 Acknowledgments

  • Chafa - Excellent image-to-ANSI tool
  • Tauri - Revolutionary desktop app framework
  • React - Powerful UI library
  • Rust - Safe and efficient system language

📞 Contact


Built with Rust and Tauri for speed and efficiency

A truly cross-platform native application - not a web wrapper! 🚀

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published