#!/bin/bash
## Annotate worldmap with local times and refresh every 60 seconds
## AUTHOR: Troublegum
## DATE: 18.09.2011
## REQUIREMENTS: imagemagick (sudo apt-get install imagemagick)

FILENAME="blackmap.jpg"
#FILENAME="bluemap.jpg"
OUTPUT="timezonewallpaper.jpg"
FONT="Helvetica-Bold"
CITY_NAMES=( "London" "Moskau" "Jakarta" "Beijing" "Tokyo" "Sydney" "San Francisco" "New York" "Rio de Janeiro" )
CITY_X=( 128 304 518 544 630 670 988 1155 1266 )
CITY_Y=( 384 332 616 438 456 715 452 435 676 )
CITY_TIMEZONES=( "Europe/London" "Europe/Moscow" "Asia/Jakarta" "Asia/Shanghai" "Asia/Tokyo" "Australia/Sydney" "US/Pacific" "US/Eastern" "Brazil/Eastern" )


##################################################
##### DO NOT CHANGE ANYTHING BELOW THIS LINE #####
##################################################

N=${#CITY_NAMES[*]}

annotatepicture() {
	TESTSTR=""
	CMD="convert ${FILENAME}"
	CMD+=" -fill white -font \"${FONT}\""
	for (( i = 0 ; i < $N ; i++ ))
	do
		let "X1 = ${CITY_X[$i]} + 4"
		let "X2 = ${CITY_X[$i]} + 10"
		let "Y2 = ${CITY_Y[$i]} + 5"
		let "X3 = ${CITY_X[$i]} + 20"
		let "Y3 = ${CITY_Y[$i]} + 18"
		DATESTR=`TZ=${CITY_TIMEZONES[$i]} date '+%H:%M'`


		CMD+=" -draw \"circle ${CITY_X[$i]},${CITY_Y[$i]} ${X1},${CITY_Y[$i]}\""
		CMD+=" -draw \"text ${X2},${Y2} '${CITY_NAMES[$i]}'\""
		CMD+=" -draw \"text ${X3},${Y3} '${DATESTR}'\""
	done
	CMD+=" ${OUTPUT}"

	eval ${CMD}
}



while [  1 ]; do
	annotatepicture
	sleep 60
done


