C# WPF WinForms GeoLocation Wallpaper Automation
A lightweight application that dynamically changes your desktop wallpaper based on the time of day, inspired by macOS Mojave.
DesertChanger was created to bring the dynamic wallpaper feature of macOS Mojave to Windows. It uses astronomical calculations to determine sunrise and sunset times, ensuring your wallpaper matches the time of day. The project also integrates various technical concepts, making it a learning ground for advanced C# features.
- C# with WPF and WinForms: Chosen for seamless integration with Windows desktop features.
- GeoLocation API: Determines the user's location for accurate sunrise and sunset calculations.
- CSV Parsing: Utilized for ZIP code-based location data.
- DLL Imports: Enables low-level bindings for wallpaper changes.
- Event-Driven Design: Handles notifications and wallpaper updates efficiently.
- Dynamically updates wallpaper based on sunrise and sunset times.
- Supports custom image spans for different times of the day.
- Lightweight system tray application with a notification menu.
- Uses GeoLocation to calculate accurate astronomical timings.
- Includes mutex handling to prevent multiple instances.
- Clone the repository:
git clone https://github.com/liukonen/DesertChanger.git
- Open
DesertChanger.slnin Visual Studio. - Build and run the solution.
- Configure your location and image settings via the system tray menu.
- Jean Meeus: Astronomical Algorithms for sunrise/sunset calculations.
- Schuyler Erle: CivicSpace US ZIP Code Database.
- Konrad Michalik: Weather Iconic (https://github.com/jackd248/weather-iconic).