hyprlock: weather use shell weather

Use cached weather from shell if available, otherwise use wttr.in
This commit is contained in:
2 * r + 2 * t 2025-01-27 22:16:46 +11:00
parent 18f7b6b291
commit eb7466c9eb

View file

@ -1,14 +1,13 @@
#!/bin/fish
set -q XDG_CACHE_HOME && set cache $XDG_CACHE_HOME || set cache ~/.cache
set cache $cache/caelestia/weather.txt
set -q XDG_CACHE_HOME && set -l cache $XDG_CACHE_HOME || set -l cache ~/.cache
set -l cache $cache/caelestia/weather.json
set format '\(.weatherDesc[0].value) • \(.temp_C)°C | UV \(.uvIndex) • 💨 \(.windspeedKmph)km/h'
set city (curl ipinfo.io | jq -r '.city')
set weather (curl "wttr.in/$city?format=j1" | jq -er '.current_condition[0] | "'$format'"' || cat $cache)
if test -n weather
echo $weather > $cache
echo $weather
if test -f $cache
jq -r '.current | "\(.condition.text) • \(.temp_c)°C | UV \(.uv) •  \(.wind_kph) kph"' $cache
exit
end
set -l format '\(.weatherDesc[0].value) • \(.temp_C)°C | UV \(.uvIndex) •  \(.windspeedKmph) kph'
set -l city (curl ipinfo.io | jq -r '.city')
curl "wttr.in/$city?format=j1" | jq -er '.current_condition[0] | "'$format'"'