Skip to content

arassp/RetroWeatherWidget

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RetroWeather 🌤️

If you used Windows Vista or 7, you probably remember the sidebar widgets. A little weather card sitting in the corner of your desktop, showing the temperature and a sun or cloud icon. Simple, clean, always there. Then Windows 8 came out and Microsoft just... discontinued them. So I built this.

RetroWeather is a Rainmeter skin that brings back the old weather widget. It looks and feels like those old Vista/7 gadgets, but underneath it's pulling live weather, air quality, UV index, and wind data from a modern API.. for free, no account or API key needed. You can switch between Celsius and Fahrenheit, change your location by typing any city. Oh, and it automatically shifts into a dark mode moon after sunset.

Retroweather works on Windows 7 and above.

RetroWeather Preview


Features

  • Live weather — current temperature, conditions, high/low
  • 3-day forecast — with weather icons, temperatures, and UV index
  • Wind speed — auto-converts between mph and km/h based on unit selection
  • Air Quality Index (AQI) — with color-coded indicator bar
  • Day/Night mode — automatically switches based on local sunrise/sunset
  • Celsius/Fahrenheit toggle — via right-click context menu
  • Location switcher — type any city name or US zip code to change location
  • Meteocons weather icons — color-coded by condition (sun = yellow, cloud = white, rain = blue, etc.)
  • Auto-updates — refreshes every 5 minutes
  • No API key required — uses the free Open-Meteo API

Requirements


Installation

  1. Download or clone this repository

  2. Copy the RetroWeather folder to your Rainmeter Skins directory:

    Documents\Rainmeter\Skins\RetroWeather\
    
  3. Open Rainmeter Manager, find RetroWeather and click Load

  4. The Meteocons font will be loaded automatically from @Resources\Fonts\


Configuration

Open Retroweather.ini and edit the [Variables] section:

[Variables]
Latitude=YOUR_LATITUDE
Longitude=YOUR_LONGITUDE
Location=Your City, State
TempUnit=fahrenheit        ; or celsius
UnitLetter=+               ; + for °F, * for °C
UseMPH=1                   ; 1 for mph, 0 for km/h
WindUnit=mph               ; or km/h

To find your latitude and longitude, go to Google Maps, right-click your location and copy the coordinates.


Location Switcher

Right-click the widget and select Change Location... to type any city name or US zip code. The skin will automatically geocode the location using the Open-Meteo Geocoding API and update.

Windows 7 users: The location switcher requires PowerShell 5.1. Install WMF 5.1 if it doesn't work. You may also need to enable TLS 1.2 — see the Windows 7 Notes section below.


Right-Click Menu

Right-click the widget and select "custom skin actions" for the following options:

Option Description
Refresh weather Forces an immediate weather update
Use Celsius Switches to °C and km/h
Use Fahrenheit Switches to °F and mph
Change Location... Opens location input dialog

APIs Used

API Purpose Cost
Open-Meteo Forecast Weather & UV index Free
Open-Meteo Air Quality AQI Free
Open-Meteo Geocoding Location search Free

No API key needed. No account. No limits that matter for personal use.


AQI Color Scale

Color AQI Range Category
🟢 Green 0–50 Good
🟡 Yellow 51–100 Moderate
🟠 Orange 101–150 Unhealthy for Sensitive Groups
🔴 Red 151–200 Unhealthy
🟣 Purple 201–250 Very Unhealthy
🟤 Maroon 251+ Hazardous

Windows 7 Notes

Windows 7 ships with PowerShell 2.0 which lacks TLS 1.2 support, required by the Open-Meteo API. To fix this:

  1. Install WMF 5.1 — download Win7AndW2K8R2-KB3191566-x64.zip, extract it, and run the .msu file
  2. Restart your computer
  3. The location switcher should now work

Credits


FAQ

Can I change the widget's colors or size?
Yes. Open Retroweather.ini and edit the color variables at the top, Blue, DarkBlue, White, etc... using RGBA values. To resize, adjust the width and height values in [MeterBackground] and reposition the meters accordingly.
Why is wind speed showing zero?
The wind data is fetched from a separate API call. It may take a few extra seconds to load after the widget first appears. If it stays at zero, right click and hit Refresh weather.
Why does the location switcher open a command window briefly?
The location switcher runs a PowerShell script via the RunCommand plugin. The brief window flash is normal as it closes automatically once the script finishes and the skin refreshes with the new location.
How do I find my latitude and longitude?
Go to Google Maps, right click your location, and the coordinates will appear at the top of the context menu. Copy them into the Latitude and Longitude fields in Retroweather.ini.
Can I add more forecast days?
The widget currently shows 3 days. Open-Meteo supports up to 16 days of forecast data, but adding more days would require adding new measures and meters to the skin file for each additional day.
Can I run multiple instances with different locations?
Yes. Copy the entire skin folder, give it a different name, load it separately in Rainmeter Manager, and set different coordinates in each copy's ini file.
Where is the weather API URL defined?
In the [Variables] section, look for WeatherURL. It's built dynamically using your Latitude, Longitude, and TempUnit variables so it updates automatically when you switch units or change location.
How does the day/night mode work in the code?
[MeasureSun] fetches live sunrise and sunset times as Unix timestamps. [MeasureDarkMode] then compares the current time against those values. If it's before sunrise or after sunset it fires IfTrueAction which swaps the color variables and adds moon shapes to [MeterSun].
How does the location switcher work under the hood?
When you select Change Location, Rainmeter triggers [MeasureRunBat] which uses the RunCommand plugin to launch ChangeLocation.ps1. The script shows an input dialog, calls the Open-Meteo Geocoding API to convert the city name to coordinates, then directly rewrites the Latitude, Longitude, and Location values in the ini file before Rainmeter refreshes.
How are the weather icons rendered without image files?
The icons are characters from the Meteocons font. Each weather code is substituted for a specific letter in [MeasureD0Icon], [MeasureD1Icon], and [MeasureD2Icon]. When those letters are rendered using the Meteocons font face in the meter, they appear as weather symbols.
How does the icon color change per condition?
Each icon meter has three companion measures: ColorR, ColorG, and ColorB that use Substitute to map weather codes to RGB values. The meter's FontColor then references those three measures dynamically to build the final color.

License

MIT License — free to use, modify, and share.

About

Your desktop called. It wants its weather widget back. A throw back to the old weather widget, now modernized.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors