otter-weather fetches current conditions and a 7-day forecast from Open-Meteo. It feeds the bar weather widget or opens a popup. Set a city or coordinates. The default config runs it as a watch daemon that keeps the bar cache current.
Usage
Runotter-weather with no arguments to use your config file. With the default config, it fetches London, prints the forecast, writes the bar widget cache, and refreshes every 900 seconds. Pass a city or coordinates to override the configured location.
Filey, UK searches Filey, then filters candidates by country or admin region. A city or coordinates on the command line always win over the config file and auto_location.
Bar widget integration
The otter-bar weather widget reads from a bounded local cache file. Use--write-cache to refresh that cache after a fetch. Add --watch SECONDS to keep it updated in the background. A typical autostart line:
--layer flag opens the cached forecast in a small layer-shell popup that closes when clicked. Bind it to the bar widget button. The popup follows your theme, including Current and Bank profiles and generated colours, and reloads font, colour, radius, and border changes without restarting.
Responses are capped at 128 KiB, so the cache file stays small and fetch time stays predictable.
Configuration
otter-weather reads ~/.config/otter-shell/otter-weather.conf.
auto_location:truederives city and coordinates from your public IP (viaipapi.co) before fetching. Command-line locations still wincity: city name to geocode. Whencityis set, it takes precedence overlatitudeandlongitudelatitude/longitude: your location, used whencityis emptycache_path: cache file location. Empty uses the default XDG cache locationwrite_cache: write the bar widget cache after each fetchwatch_seconds: refresh interval in seconds.0fetches once and exits. Config reloads between refreshes, so you can change location without restarting the daemon

