# Nixie Temperature Widget (`nixie-temp`)

A lightweight desktop temperature widget written in **Vala** and **GTK+ 3**. It renders live weather data in a customizable Nixie tube display style and seamlessly integrates with `mu-wetter`.

## Features

* **Multiple Visual Themes:**
  * Modern Minimalist
  * Authentic Real Tubes
  * Cyberpunk Neon
  * Vacuum VFD Blue
  * Terminal Scanline VFD
* **Customization:**
  * Adjustable tube transparency and scale.
  * Custom glow colors with built-in color presets.
  * Temperature unit toggle (°C / °F).
* **CPU Optimization:** Multiple animation frame-rate modes including a zero-animation static mode for minimal CPU usage.
* **Persistent Configuration:** Automatically saves and restores position, colors, scale, and preferences to `~/.config/nixie_temp/config.ini`.
* **Weather Integration:** Automatically calls `mu-wetter --silent` to refresh temperature data at top-of-the-hour updates.

## Dependencies

### Build Dependencies
* `valac` (Vala Compiler)
* `gtk+-3.0`
* `cairo`
* `pango`
* `glib-2.0`

### Runtime Dependencies
* `mu-wetter` (for automated background weather updates)

## Building & Installation

To compile the application:

```bash
make
```

To install system-wide (defaults to `/usr/local/bin`):

```bash
sudo make install
```

To create a source release tarball containing `nixie-temp.vala`, `Makefile`, and `README.md`:

```bash
make source
```

To clean build artifacts:

```bash
make clean
```

## License

This project is licensed under the terms of the **GNU General Public License v2.0 or later** (GPL-2.0-or-later). See the license header in source files for details.