diff options
| author | TheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com> | 2025-08-23 12:42:37 +0900 |
|---|---|---|
| committer | TheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com> | 2025-08-23 12:42:37 +0900 |
| commit | 07d294425a98ee5d1e22d03e2b24ae2c76e487c0 (patch) | |
| tree | a6818f0d64438c5fdb88b00a35d944f80c056213 /mac/.config/sketchybar/plugins/weather.sh | |
| parent | 6fc28cdb3529ca8ee864cb5c41674cb0a4af72a1 (diff) | |
updates
Diffstat (limited to 'mac/.config/sketchybar/plugins/weather.sh')
| -rw-r--r-- | mac/.config/sketchybar/plugins/weather.sh | 191 |
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 |
