From a79416f5eb2de2d9505704911dfca4b048157f2c Mon Sep 17 00:00:00 2001 From: TheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com> Date: Thu, 29 Jan 2026 10:51:32 +0900 Subject: modified statusbar/sb-clock, modified statusbar/sb-forecast, created plugins/auto-tag.lua --- ar/.local/bin/statusbar/sb-clock | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) (limited to 'ar/.local/bin/statusbar/sb-clock') diff --git a/ar/.local/bin/statusbar/sb-clock b/ar/.local/bin/statusbar/sb-clock index d909326..d4110be 100755 --- a/ar/.local/bin/statusbar/sb-clock +++ b/ar/.local/bin/statusbar/sb-clock @@ -43,15 +43,26 @@ else fi # Shows the current moon phase. -location=$(curl -s http://ip-api.com/json | jq -r '[.regionName, .countryCode] | join(",")') +locationfile="${XDG_CACHE_HOME:-${HOME}/.cache}/statusbar/location" moonfile="${XDG_DATA_HOME:-${HOME}/.local/share}/wallpapers/moonphase" +# Cache location for 24 hours +if [ ! -s "$locationfile" ] || [ $(($(date +%s) - $(stat -c %Y "$locationfile" 2>/dev/null || echo 0))) -gt 86400 ]; then + mkdir -p "${XDG_CACHE_HOME:-${HOME}/.cache}/statusbar" + curl -s http://ip-api.com/json | jq -r '[.regionName, .countryCode] | join(",")' > "$locationfile" 2>/dev/null & +fi + +location=$(cat "$locationfile" 2>/dev/null || echo "") + +# Update moon phase only once per day if [ ! -s "$moonfile" ] || [ "$(stat -c %y "$moonfile" 2>/dev/null | cut -d' ' -f1)" != "$(date '+%Y-%m-%d')" ]; then - moon=$(curl -sf "wttr.in/$location?format=%m") - [ -n "$moon" ] && grep -vq 'Unknown location' "$moon" && echo "$moon" >"$moonfile" + if [ -n "$location" ]; then + moon=$(curl -sf "wttr.in/$location?format=%m" 2>/dev/null) + [ -n "$moon" ] && ! echo "$moon" | grep -q 'Unknown location' && echo "$moon" >"$moonfile" & + fi fi -moonicon="$(cat "$moonfile")" +moonicon="$(cat "$moonfile" 2>/dev/null)" case $BLOCK_BUTTON in 1) notify-send "This Month" "$(cal | sed "s/\<$(date +'%B' | tr -d ' ')\>/&<\/span><\/b>/;s/\<$(date +'%Y' | sed 's/ //g')\>/&<\/span><\/b>/;s/\<$(date +'%B' | sed 's/ //g')\>/&<\/span><\/b>/;s/\<$(date +'%e' | sed 's/ //g')\>/&<\/span><\/b>/")" && notify-send "Appointments" "$(calcurse -d3)" ;; -- cgit v1.2.3