WeatherOS v1.2.0
Release Type: Minor
Author: @nikomarinovic
Date: July 19, 2026
Repository: WeatherOS
Summary
This release makes the app feel more alive and easier to use day-to-day: the background now tints itself to match the current weather condition, air quality gets its own dedicated info with proper severity tiers, and saved locations now persist between sessions via a small local JSON store. Scrolling has also been overhauled — every scrollable area now has a working scrollbar and responds to the mouse wheel / trackpad correctly, no matter which widget the cursor is over.
Highlights
- Condition-aware backgrounds —
weather_utils.pynow maps each weather condition to a matching pastel background tint (warm cream for sun, icy blue for snow, muted violet for storms, and so on), applied instantly whenever new weather loads. - Air quality tiers — Introduced US AQI tiers (Good → Hazardous) with matching labels and colors, plus a
get_aqi_info()helper so the AQI card always shows an accurate severity label and dot color. - Persistent saved locations — Added
locations_store.py, a lightweight JSON-file store at~/.weatheros/locations.jsonfor adding, removing, and checking saved locations, so your pinned cities survive a restart.
Bug Fixes
- Fixed mouse-wheel / trackpad scrolling, which previously only worked on whichever scrollable panel (location pills, hourly forecast, or the main page) happened to be created last — every panel now scrolls independently and correctly regardless of which widget is under the cursor.
- Re-enabled visible scrollbars on the location pills row, hourly forecast strip, and main page, which had been hidden.
- Removed the decorative particle background animation, count-up temperature animation, and background fade animation, which some users found distracting — values and background tints now update instantly.
Installation / Upgrade
git pull origin main
python3 -m pip install --user --break-system-packages -r requirements.txt
python3 main.pyTip
If you're upgrading from an older clone, delete any leftover __pycache__ folders first — a .gitignore was added in this release to keep them out of the repo going forward.
Full Changelog
Full Changelog: v1.1.0...v1.2.0
© 2026 Niko Marinović. All rights reserved.