summaryrefslogtreecommitdiffstats
path: root/.local/bin/statusbar/weather
diff options
context:
space:
mode:
authorLuke Smith <luke@lukesmith.xyz>2020-06-02 12:46:47 -0400
committerLuke Smith <luke@lukesmith.xyz>2020-06-02 12:46:47 -0400
commitc4d6f4c027bb7e81093ec7c588f027de568e6bb6 (patch)
tree92b550aa1c66b52661d01f92122715aa09fc706c /.local/bin/statusbar/weather
parent87b0754319a00648cd20b7f013cc821868f6d25e (diff)
parent0df700f504cedeac1ae354c650ea80b32ab7668c (diff)
downloadeibhear-c4d6f4c027bb7e81093ec7c588f027de568e6bb6.tar.gz
eibhear-c4d6f4c027bb7e81093ec7c588f027de568e6bb6.tar.zst
eibhear-c4d6f4c027bb7e81093ec7c588f027de568e6bb6.zip
Merge branch 'chambln-refactor'
Diffstat (limited to '.local/bin/statusbar/weather')
-rwxr-xr-x.local/bin/statusbar/weather11
1 files changed, 6 insertions, 5 deletions
diff --git a/.local/bin/statusbar/weather b/.local/bin/statusbar/weather
index 9a6c40a..e04bac0 100755
--- a/.local/bin/statusbar/weather
+++ b/.local/bin/statusbar/weather
@@ -6,17 +6,18 @@
# If we have internet, get a weather report from wttr.in and store it locally.
# You could set up a shell alias to view the full file in a pager in the
# terminal if desired. This function will only be run once a day when needed.
-getforecast() { curl -sf "wttr.in/$LOCATION" > "${XDG_DATA_HOME:-$HOME/.local/share}/weatherreport" || exit 1 ;}
+weatherreport="${XDG_DATA_HOME:-$HOME/.local/share}/weatherreport"
+getforecast() { curl -sf "wttr.in/$LOCATION" > "$weatherreport" || exit 1 ;}
# Some very particular and terse stream manipulation. We get the maximum
# precipication chance and the daily high and low from the downloaded file and
# display them with coresponding emojis.
-showweather() { printf "%s" "$(sed '16q;d' "${XDG_DATA_HOME:-$HOME/.local/share}/weatherreport" |
+showweather() { printf "%s" "$(sed '16q;d' "$weatherreport" |
grep -wo "[0-9]*%" | sort -rn | sed "s/^/☔/g;1q" | tr -d '\n')"
-sed '13q;d' "${XDG_DATA_HOME:-$HOME/.local/share}/weatherreport" | grep -o "m\\([-+]\\)*[0-9]\\+" | sort -n -t 'm' -k 2n | sed -e 1b -e '$!d' | tr '\n|m' ' ' | awk '{print " 🥶" $1 "°","🌞" $2 "°"}' ;}
+sed '13q;d' "$weatherreport" | grep -o "m\\([-+]\\)*[0-9]\\+" | sort -n -t 'm' -k 2n | sed -e 1b -e '$!d' | tr '\n|m' ' ' | awk '{print " 🥶" $1 "°","🌞" $2 "°"}' ;}
case $BLOCK_BUTTON in
- 1) setsid -f "$TERMINAL" -e less -Srf "${XDG_DATA_HOME:-$HOME/.local/share}/weatherreport" ;;
+ 1) setsid -f "$TERMINAL" -e less -Srf "$weatherreport" ;;
2) getforecast && showweather ;;
3) notify-send "🌈 Weather module" "\- Left click for full forecast.
- Middle click to update forecast.
@@ -28,7 +29,7 @@ esac
# The test if our forcecast is updated to the day. If it isn't download a new
# weather report from wttr.in with the above function.
-[ "$(stat -c %y "${XDG_DATA_HOME:-$HOME/.local/share}/weatherreport" 2>/dev/null | cut -d' ' -f1)" = "$(date '+%Y-%m-%d')" ] ||
+[ "$(stat -c %y "$weatherreport" 2>/dev/null | cut -d' ' -f1)" = "$(date '+%Y-%m-%d')" ] ||
getforecast
showweather