summaryrefslogtreecommitdiffstats
path: root/.local
diff options
context:
space:
mode:
authorSecondarian <101978322+Secondarian@users.noreply.github.com>2022-07-01 23:26:58 +0200
committerGitHub <noreply@github.com>2022-07-01 23:26:58 +0200
commit395ec0d4007405cf7c177b369c58b942a7fd0f96 (patch)
treea3a5d7f2871e92997607e55f1445f23065502e6d /.local
parent035e1bcbbe9bb0e83a04df04abc417d8ef137218 (diff)
downloadeibhear-395ec0d4007405cf7c177b369c58b942a7fd0f96.tar.gz
eibhear-395ec0d4007405cf7c177b369c58b942a7fd0f96.tar.zst
eibhear-395ec0d4007405cf7c177b369c58b942a7fd0f96.zip
Regions for Germany
This lets you choose regions for Germany and get radar gifs from the national weather service instead of Sat24 which are way higher quality.
Diffstat (limited to '.local')
-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" ;}