summaryrefslogtreecommitdiff
path: root/mac/.config/sketchybar.allapp/plugins/weather.sh
diff options
context:
space:
mode:
Diffstat (limited to 'mac/.config/sketchybar.allapp/plugins/weather.sh')
-rwxr-xr-xmac/.config/sketchybar.allapp/plugins/weather.sh25
1 files changed, 25 insertions, 0 deletions
diff --git a/mac/.config/sketchybar.allapp/plugins/weather.sh b/mac/.config/sketchybar.allapp/plugins/weather.sh
new file mode 100755
index 0000000..9b9ba29
--- /dev/null
+++ b/mac/.config/sketchybar.allapp/plugins/weather.sh
@@ -0,0 +1,25 @@
+sketchybar --set $NAME \
+ label="Loading..." \
+ icon.color=0xff5edaff
+
+# fetch weather data
+LOCATION="Seoul"
+REGION=""
+LANG="ko"
+
+# Line below replaces spaces with +
+LOCATION_ESCAPED="${LOCATION// /+}+${REGION// /+}"
+WEATHER_JSON=$(curl -s "https://wttr.in/$LOCATION_ESCAPED?0pq&format=j1&lang=$LANG")
+
+# Fallback if empty
+if [ -z $WEATHER_JSON ]; then
+ sketchybar --set $NAME label="$LOCATION"
+ return
+fi
+
+TEMPERATURE=$(echo $WEATHER_JSON | jq '.current_condition[0].temp_C' | tr -d '"')
+#WEATHER_DESCRIPTION=$(echo $WEATHER_JSON | jq '.current_condition[0].weatherDesc[0].value' | tr -d '"' | sed 's/\(.\{16\}\).*/\1.../')
+WEATHER_DESCRIPTION=$(echo $WEATHER_JSON | jq '.current_condition[0].lang_ko[0].value' | tr -d '"' | sed 's/\(.\{16\}\).*/\1.../')
+
+sketchybar --set $NAME \
+ label="$TEMPERATURE$(echo '°')C • $WEATHER_DESCRIPTION"