summaryrefslogtreecommitdiff
path: root/mac/.config/sketchybar/plugins/weather.sh
diff options
context:
space:
mode:
authorTheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com>2025-08-23 12:42:37 +0900
committerTheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com>2025-08-23 12:42:37 +0900
commit07d294425a98ee5d1e22d03e2b24ae2c76e487c0 (patch)
treea6818f0d64438c5fdb88b00a35d944f80c056213 /mac/.config/sketchybar/plugins/weather.sh
parent6fc28cdb3529ca8ee864cb5c41674cb0a4af72a1 (diff)
updates
Diffstat (limited to 'mac/.config/sketchybar/plugins/weather.sh')
-rw-r--r--mac/.config/sketchybar/plugins/weather.sh191
1 files changed, 0 insertions, 191 deletions
diff --git a/mac/.config/sketchybar/plugins/weather.sh b/mac/.config/sketchybar/plugins/weather.sh
deleted file mode 100644
index 61644de..0000000
--- a/mac/.config/sketchybar/plugins/weather.sh
+++ /dev/null
@@ -1,191 +0,0 @@
-#!/usr/bin/env bash
-
-# Load global styles, colors and icons
-source "$CONFIG_DIR/globalstyles.sh"
-
-# API_KEY="462eeb49a1b844f191f175554222607" # insert api key here
-API_KEY="2aa1a4f60e2542efae051005240402" # insert api key here
-
-# first comment is description, second is icon number
-WEATHER_ICONS_DAY=(
- [1000]= # Sunny/113
- [1003]= # Partly cloudy/116
- [1006]= # Cloudy/119
- [1009]= # Overcast/122
- [1030]= # Mist/143
- [1063]= # Patchy rain possible/176
- [1066]= # Patchy snow possible/179
- [1069]= # Patchy sleet possible/182
- [1072]= # Patchy freezing drizzle possible/185
- [1087]= # Thundery outbreaks possible/200
- [1114]= # Blowing snow/227
- [1117]= # Blizzard/230
- [1135]= # Fog/248
- [1147]= # Freezing fog/260
- [1150]= # Patchy light drizzle/263
- [1153]= # Light drizzle/266
- [1168]= # Freezing drizzle/281
- [1171]= # Heavy freezing drizzle/284
- [1180]= # Patchy light rain/293
- [1183]= # Light rain/296
- [1186]= # Moderate rain at times/299
- [1189]= # Moderate rain/302
- [1192]= # Heavy rain at times/305
- [1195]= # Heavy rain/308
- [1198]= # Light freezing rain/311
- [1201]= # Moderate or heavy freezing rain/314
- [1204]= # Light sleet/317
- [1207]= # Moderate or heavy sleet/320
- [1210]= # Patchy light snow/323
- [1213]= # Light snow/326
- [1216]= # Patchy moderate snow/329
- [1219]= # Moderate snow/332
- [1222]= # Patchy heavy snow/335
- [1225]= # Heavy snow/338
- [1237]= # Ice pellets/350
- [1240]= # Light rain shower/353
- [1243]= # Moderate or heavy rain shower/356
- [1246]= # Torrential rain shower/359
- [1249]= # Light sleet showers/362
- [1252]= # Moderate or heavy sleet showers/365
- [1255]= # Light snow showers/368
- [1258]= # Moderate or heavy snow showers/371
- [1261]= # Light showers of ice pellets/374
- [1264]= # Moderate or heavy showers of ice pellets/377
- [1273]= # Patchy light rain with thunder/386
- [1276]= # Moderate or heavy rain with thunder/389
- [1279]= # Patchy light snow with thunder/392
- [1282]= # Moderate or heavy snow with thunder/395
-)
-
-WEATHER_ICONS_NIGHT=(
- [1000]= # Clear/113
- [1003]= # Partly cloudy/116
- [1006]= # Cloudy/119
- [1009]= # Overcast/122
- [1030]= # Mist/143
- [1063]= # Patchy rain possible/176
- [1066]= # Patchy snow possible/179
- [1069]= # Patchy sleet possible/182
- [1072]= # Patchy freezing drizzle possible/185
- [1087]= # Thundery outbreaks possible/200
- [1114]= # Blowing snow/227
- [1117]= # Blizzard/230
- [1135]= # Fog/248
- [1147]= # Freezing fog/260
- [1150]= # Patchy light drizzle/263
- [1153]= # Light drizzle/266
- [1168]= # Freezing drizzle/281
- [1171]= # Heavy freezing drizzle/284
- [1180]= # Patchy light rain/293
- [1183]= # Light rain/296
- [1186]= # Moderate rain at times/299
- [1189]= # Moderate rain/302
- [1192]= # Heavy rain at times/305
- [1195]= # Heavy rain/308
- [1198]= # Light freezing rain/311
- [1201]= # Moderate or heavy freezing rain/314
- [1204]= # Light sleet/317
- [1207]= # Moderate or heavy sleet/320
- [1210]= # Patchy light snow/323
- [1213]= # Light snow/326
- [1216]= # Patchy moderate snow/329
- [1219]= # Moderate snow/332
- [1222]= # Patchy heavy snow/335
- [1225]= # Heavy snow/338
- [1237]= # Ice pellets/350
- [1240]= # Light rain shower/353
- [1243]= # Moderate or heavy rain shower/356
- [1246]= # Torrential rain shower/359
- [1249]= # Light sleet showers/362
- [1252]= # Moderate or heavy sleet showers/365
- [1255]= # Light snow showers/368
- [1258]= # Moderate or heavy snow showers/371
- [1261]= # Light showers of ice pellets/374
- [1264]= # Moderate or heavy showers of ice pellets/377
- [1273]= # Patchy light rain with thunder/386
- [1276]= # Moderate or heavy rain with thunder/389
- [1279]= # Patchy light snow with thunder/392
- [1282]= # Moderate or heavy snow with thunder/395
-)
-
-render_item() {
- if [ "$CITY" = "" ]; then
- args+=(--set $NAME icon="􀌏" label.drawing=off icon.padding_right=-3)
- else
- args+=(--set $NAME icon="$ICON" icon.font="Hack Nerd Font:Bold:14.0" label="${TEMP}°C" label.drawing=on icon.padding_right=-3)
- fi
-
- sketchybar "${args[@]}" >/dev/null
-
-}
-
-render_popup() {
- if [ "$CITY" = "" ]; then
- args+=(--set weather.details label="N/A"
- click_script="sketchybar --set $NAME popup.drawing=off")
- else
- args+=(--set weather.details label="$CONDITION_TEXT, Humidity: $HUMIDITY% ($LOCATION)"
- click_script="sketchybar --set $NAME popup.drawing=off")
- fi
-
- sketchybar "${args[@]}" >/dev/null
-
-}
-
-update() {
- CURRENT_WIFI="$(/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I)"
- SSID="$(echo "$CURRENT_WIFI" | grep -o "SSID: .*" | sed 's/^SSID: //')"
-
- # Attempt to get the city name using the IP info service
- CITY="$(curl -s -m 5 ipinfo.io/loc)"
-
- # Check if the CITY variable is empty or contains an error message
- if [ -z "$CITY" ] || echo "$CITY" | grep -q "error"; then
- # Default to Birmingham,AL if the curl command failed or returned an error
- CITY="Birmingham,AL"
- fi
-
- # Replace spaces with '%20' for URL encoding
- CITY=$(echo "$CITY" | sed 's/ /%20/g')
-
- if [ "$CITY" != "" ]; then
- DATA=$(curl -s -m 5 "http://api.weatherapi.com/v1/current.json?key=$API_KEY&q=$CITY")
- CONDITION=$(echo $DATA | jq -r '.current.condition.code')
- CONDITION_TEXT=$(echo $DATA | jq -r '.current.condition.text')
- TEMP=$(echo $DATA | jq -r '.current.temp_c | floor')
- FEELSLIKE=$(echo $DATA | jq -r '.current.feelslike_f')
- HUMIDITY=$(echo $DATA | jq -r '.current.humidity')
- IS_DAY=$(echo $DATA | jq -r '.current.is_day')
- LOCATION=$(echo $DATA | jq -r '.location.name' && echo ', ' && echo $DATA | jq -r '.location.country')
-
- [ "$IS_DAY" = "1" ] && ICON=${WEATHER_ICONS_DAY[$CONDITION]} || ICON=${WEATHER_ICONS_NIGHT[$CONDITION]}
- args=()
- fi
-
- render_item
- render_popup
-
- if [ "$SENDER" = "forced" ]; then
- sketchybar --set "$NAME"
- fi
-}
-
-popup() {
- sketchybar --set "$NAME" popup.drawing="$1"
-}
-
-case "$SENDER" in
-"routine" | "forced" | "wifi_change")
- update
- ;;
-"mouse.entered")
- popup on
- ;;
-"mouse.exited" | "mouse.exited.global")
- popup off
- ;;
-"mouse.clicked")
- popup toggle
- ;;
-esac