Air Quality
February 26, 2026 · View on GitHub
A DankBar widget that shows the current Air Quality Index (AQI) with a detailed pollutant breakdown in the popout panel.
Features
- US AQI and European AQI scales with color-coded levels
- Auto-detect location via GeoIP (ip-api.com) or set coordinates manually
- Pollutant breakdown: PM2.5, PM10, O₃, NO₂, SO₂, CO
- Configurable refresh interval (5–60 minutes) with response caching
- Horizontal and vertical bar pill support
Bar Display
Shows a colored dot indicator alongside the AQI value (e.g. ● AQI 42). The dot color reflects the current AQI level.
Popout Panel
- Location name and last updated time
- Large colored AQI card with value and level label
- 2-column grid of individual pollutant readings with units
Data Sources
- Air Quality: Open-Meteo Air Quality API — free, no API key required
- GeoIP: ip-api.com — free for non-commercial use
Settings
| Setting | Description | Default |
|---|---|---|
| Auto-detect location | Use GeoIP to determine coordinates | On |
| Latitude / Longitude | Manual coordinates (when auto-detect is off) | — |
| AQI Standard | European AQI or US AQI | European |
| Refresh interval | Minutes between API updates (also controls cache TTL) | 30 |
Dependencies
curl
Installation
git clone https://github.com/szabolcsf/dms-air-quality.git
cp -r dms-air-quality ~/.config/DankMaterialShell/plugins/airQuality
Then enable the plugin in DMS Settings → Plugins, and add it to your DankBar.
Compositors
Tested on Niri. Should work on any compositor supported by DankMaterialShell.
License
MIT