diff --git a/.local/bin/statusbar/sb-doppler b/.local/bin/statusbar/sb-doppler index ca95bdf..91ec310 100755 --- a/.local/bin/statusbar/sb-doppler +++ b/.local/bin/statusbar/sb-doppler @@ -4,29 +4,8 @@ secs=600 # Download a new doppler radar if one hasn't been downloaded in $secs seconds. radarloc="${XDG_CACHE_HOME:-$HOME/.cache}/radar" -radarger="${XDG_CACHE_HOME:-$HOME/.cache}/radarger" doppler="${XDG_CACHE_HOME:-$HOME/.cache}/doppler.gif" -pickger() { chosenger="$(echo "BAW: Baden-Württemberg -BAY: Bavaria -BBB: Berlin -BBB: Brandenburg -HES: Hesse -MVP: Mecklenburg-Western Pomerania -NIB: Lower Saxony -NIB: Bremen -NRW: North Rhine-Westphalia -RPS: Rhineland-Palatinate -RPS: Saarland -SAC: Saxony -SAA: Saxony-Anhalt -SHH: Schleswig-Holstein -SHH: Hamburg -THU: Thuringia" | dmenu -r -i -l 50 -p "Select a radar to use as default:" | sed "s/:.*//" | tr "[:upper:]" "[:lower:]")" - -# Secondary sanity check of selection and ensure user did not escape for Germany. -echo "$chosenger" | grep -q "[a-z]" && echo "$chosenger" > "$radarger" ;} - pickloc() { chosen="$(echo "US: Northeast US: Southeast US: PacNorthWest @@ -243,34 +222,46 @@ AF: TZ: Tanzania AF: TN: Tunisia AF: ZM: Zambia AF: KE: Kenya -AF: AO: Angola" | dmenu -r -i -l 50 -p "Select a radar to use as default:" | tr "[:lower:]" "[:upper:]")" +AF: AO: Angola +DE: BAW: Baden-Württemberg +DE: BAY: Bavaria +DE: BBB: Berlin +DE: BBB: Brandenburg +DE: HES: Hesse +DE: MVP: Mecklenburg-Western Pomerania +DE: NIB: Lower Saxony +DE: NIB: Bremen +DE: NRW: North Rhine-Westphalia +DE: RPS: Rhineland-Palatinate +DE: RPS: Saarland +DE: SAC: Saxony +DE: SAA: Saxony-Anhalt +DE: SHH: Schleswig-Holstein +DE: SHH: Hamburg +DE: THU: Thuringia" | dmenu -r -i -l 50 -p "Select a radar to use as default:" | tr "[:lower:]" "[:upper:]")" # Set continent code and radar code. continentcode=$(echo "$chosen" | sed "s/:.*//") radarcode=$(echo "$chosen" | sed "s/..: // ; s/:.*//") # Sanity check of selection and ensure user did not escape. -echo "$radarcode" | grep -q "^[A-Z]\+$" && printf "%s,%s\\n" "$continentcode" "$radarcode" > "$radarloc" +echo "$radarcode" | grep -q "^[A-Z]\+$" && printf "%s,%s\\n" "$continentcode" "$radarcode" > "$radarloc" ;} -# Prompts for choosing region if in Germany. -case $(cut -c 4- "$radarloc") in - DE) pickger ;; - *) ;; -esac ;} - -getdoppler() { cont="$(sed "s/,.*//" "$radarloc")" +getdoppler() { + cont="$(sed "s/,.*//" "$radarloc")" loc="$(cut -c 4- "$radarloc")" - notify-send "🌦️ Doppler RADAR" "Pulling most recent Doppler RADAR for $loc" - case $cont in - US) curl -sL "https://radar.weather.gov/ridge/lite/${loc}_loop.gif" > "$doppler" ;; - EU) case $loc in - DE) [ ! -f "$radarger" ] && pickger - ger="$(cat "$radarger")" - curl -sL "https://www.dwd.de/DWD/wetter/radar/radfilm_${ger}_akt.gif" > "$doppler" ;; - *) curl -sL "https://api.sat24.com/animated/${loc}/rainTMC/2/" > "$doppler" ;; - esac ;; - AF) curl -sL "https://api.sat24.com/animated/${loc}/rain/2/" > "$doppler" ;; - esac ;} + notify-send "🌦️ Doppler RADAR" "Pulling most recent Doppler RADAR for $loc." + if [ "$cont" = "US" ] ; then + curl -sL "https://radar.weather.gov/ridge/lite/${loc}_loop.gif" > "$doppler" ; + elif [ "$cont" = "EU" ] ; then + curl -sL "https://api.sat24.com/animated/${loc}/rainTMC/2/" > "$doppler" ; + elif [ "$cont" = "AF" ] ; then + curl -sL "https://api.sat24.com/animated/${loc}/rain/2/" > "$doppler" ; + elif [ "$cont" = "DE" ] ; then + loc="$(echo "$loc" | tr "[:upper:]" "[:lower:]")" + curl -sL "https://www.dwd.de/DWD/wetter/radar/radfilm_${loc}_akt.gif" > "$doppler" ; + fi +} showdoppler() { setsid -f mpv --no-osc --loop=inf --no-terminal "$doppler" ;}