summaryrefslogtreecommitdiffstats
path: root/.local/bin/statusbar
diff options
context:
space:
mode:
Diffstat (limited to '.local/bin/statusbar')
-rwxr-xr-x.local/bin/statusbar/sb-doppler52
1 files changed, 40 insertions, 12 deletions
diff --git a/.local/bin/statusbar/sb-doppler b/.local/bin/statusbar/sb-doppler
index dabf18b..ca95bdf 100755
--- a/.local/bin/statusbar/sb-doppler
+++ b/.local/bin/statusbar/sb-doppler
@@ -4,8 +4,29 @@
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
@@ -229,20 +250,27 @@ 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."
- 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" ;
- fi
-}
+ 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 ;}
showdoppler() { setsid -f mpv --no-osc --loop=inf --no-terminal "$doppler" ;}