eazygit 0.4.3

A fast TUI for Git with staging, conflicts, rebase, and palette-first UX
# Eazygit

A fast TUI for Git with reliable staging, conflicts navigation, interactive rebase controls, and a palette-first workflow.

## Install
* From source: `cargo install --path .` (or `cargo build --release` and use `target/release/eazygit`).
* Config lives at `~/.config/eazygit/config.toml` (auto-created on first run). Theme changes persist after you pick them in the palette.

## Run
```bash
eazygit
```

## Features (brief)
* Palette-driven commands for staging, conflicts jump/filter, merge notifier, interactive rebase (continue/abort/skip/edit with inline todo editing).
* Hunk/line staging with apply/unstage patches.
* Merge/pull safeguards (ff-only guard, timeouts), PR helper, auto-fetch toggle, delta side-by-side when available.
* Custom background images with glassmorphism effect and optional font customization.

## Visual Customization

### Background Images

Eazygit supports two background modes:

#### 1. Cell-Based Rendering (Default, Cross-Platform)
Works on all terminals with "pixel art" aesthetic due to terminal cell resolution (~200x50).

```toml
# In ~/.config/eazygit/config.toml (Linux/WSL)
# Or ~/Library/Application Support/eazygit/config.toml (macOS)

background_image_path = "bundled:1"  # Bundled gradients: 1, 2, or 3
# OR
background_image_path = "/path/to/your/image.jpg"

background_opacity = 0.3  # 0.1 = subtle, 0.5 = strong
```

#### 2. Terminal-Native (Recommended for Best Quality)
Use your terminal's built-in background feature for full-resolution, smooth backgrounds:

**iTerm2 (macOS):**
1. Preferences > Profiles > Window > Background Image
2. Choose image, set blending 20-30%
3. Remove `background_image_path` from eazygit config

**Kitty (Linux/macOS):**
```conf
# ~/.config/kitty/kitty.conf
background_image /path/to/image.jpg
background_opacity 0.3
background_image_layout scaled
```

**WezTerm:**
```lua
-- ~/.wezterm.lua
config.window_background_opacity = 0.9
config.window_background_image = '/path/to/image.jpg'
```

**Comparison:**
| Mode | Quality | Portability | Setup |
|------|---------|-------------|-------|
| Cell-Based | Pixelated | All terminals | Eazygit config only |
| Terminal-Native | Full-res, smooth | Terminal-specific | Terminal + eazygit config |

### Custom Fonts (Optional)
```toml
font_family = "JetBrainsMono Nerd Font"
font_size = 14
```
Note: Font support varies by terminal (iTerm2, xterm with OSC 50 support).

## Notes
* Requires git and a modern terminal. Fonts are controlled by your terminal; optional `font_family`/`font_size` are stored in config for external use.
* Themes include dark, light, nord, dracula, gruvbox, everforest, onedark; you can add custom themes via TOML under `~/.config/eazygit/themes/`.