#!/bin/bash

# optional ##########################################
#MOZWIN=$(xdotool search --title "Mozilla Firefox")
#MOZDESKTOP=$(xdotool get_desktop_for_window $MOZWIN)
#xdotool set_desktop $MOZDESKTOP
#xdotool windowactivate $MOZWIN
#####################################################

FARMROWS=12
FARMCOLS=12
CLICK_INTERVAL=0.2

if [ $1 ]; then 
	FARMROWS=$1
fi

if [ $2 ]; then 
	FARMCOLS=$2
fi

if [ $3 ]; then 
	CLICK_INTERVAL=$3
fi


if [ $4 ]; then 
	sleep $4;
fi

# get mouse location
X=$(xdotool getmouselocation | cut -d " " -f 1 | cut -d ":" -f 2)
Y=$(xdotool getmouselocation | cut -d " " -f 2 | cut -d ":" -f 2)

# square jump distance
XDIS=25
YDIS=12

VAL1=$((FARMROWS - 1))
for I in $(seq 0 $VAL1); do

	VAL=$(($I % 2))
	if [ $VAL -eq 0 ];then
		VAL2=$((FARMCOLS - 1))
		for J in $(seq 0 $VAL2); do

			if [ $J -ne 0 ]; then
				X=$(($X+$XDIS))
				Y=$(($Y-$YDIS))
			fi

			xdotool mousemove $X $Y && xdotool click 1
			echo "$X $Y i=$I j=$J"

			sleep $CLICK_INTERVAL;
		done

		X=$(($X+$XDIS))
		Y=$(($Y+$YDIS))
	else
		VAL2=$((FARMCOLS - 1))
		for J in $(seq 0 $VAL2); do

			if [ $J -ne 0 ];then
				X=$(($X-$XDIS))
				Y=$(($Y+$YDIS))
			fi

			xdotool mousemove $X $Y && xdotool click 1
			echo "$X $Y i=$I j=$J"

			sleep $CLICK_INTERVAL;
		done

	X=$(($X+$XDIS))
	Y=$(($Y+$YDIS))
fi
done

