# SlidingWallpaper (Proof of Concept)

A lightweight, hardware-accelerated desktop wallpaper animator for X11 environments. It uses Cairo surfaces to provide smooth, low-CPU scrolling of a background image.

## Features
- **Seamless Looping**: Automatically tiles and transitions to ensure a continuous scroll.
- **Display Modes**:
    - `--fit` (Default): Scales image to match screen height while maintaining aspect ratio.
    - `--native`: Loads image at original resolution (ideal for pre-cropped horizontal strips).
    - `--stretch`: Forces the image to fill both the width and height of the screen.
- **Mirroring**: Optional mirrored sequence to help create a back-and-forth loop effect.

## Requirements
- Vala compiler (`valac`)
- GTK+ 3.0 development libraries
- Cairo development libraries

## Compilation (simply type "make")
```bash
valac --pkg gtk+-3.0 --pkg cairo main.vala -o slidingwallpaper


Usage
Bash
./slidingwallpaper <image_path> [interval_ms] [--no-mirror] [--native | --stretch]

Options
Option
Description
image_path Path to your background image file.
interval_ms Refresh rate in milliseconds (default: 50).
--no-mirror Disables the mirrored duplicate, creating a direct loop.
--native Use original image size without scaling (best for custom assets).
--stretch Force the image to stretch to fill the screen dimensions.

NotesThis is currently a Proof of Concept designed to run as a background process. 
The scrolling direction is set to left-to-right by default based on the coordinate translation logic.