dotfiles/.config/polybar/scripts/info-timezone.sh
2024-01-29 08:31:23 -06:00

36 lines
703 B
Bash

#!/bin/sh
# Change format here. see `man date` for format controls.
FORMAT="%I:%M %p"
# Add the timezones of your choice. see `timedatectl list-timezones`.
set -- "UTC-0" "Australia/Sydney" "Asia/Kolkata" "America/Chicago"
TIMEZONES_LENGTH=$#
current_idx=1
print_date() {
TZ=${current_timezone:?} date +"${FORMAT}" | echo "${current_timezone:?}: $(cat -)"
}
update_current_timezone() {
current_idx=$(($((current_idx+1)) % $(("$TIMEZONES_LENGTH"+1))))
if [ $current_idx -lt 1 ]; then
current_idx=1
fi
}
click() {
update_current_timezone
print_date
}
trap "click" USR1
while true; do
eval "current_timezone=\${$current_idx}"
print_date current_timezone
sleep 5 &
wait
done