You can use
wmctrl and a little bash script to loop through the windows and then position them onto your primary display. I threw this together. It might be sufficient for you.
#dump the list of windows to a file
wmctrl -l > /tmp/window_list.txt
#read the window information from the file
while read id sticky host win_title; do
#move any non-sticky windows except the desktop
if [ "$sticky" == "0" -a "$win_title" != "x-nautilus-desktop" ]
wmctrl -i -r $id -e 0,$x,$y,-1,-1
x=$(($x + 40))
y=$(($y + 40))
done < /tmp/window_list.txt
#delete the temporary file
Save it to a file called "move_windows.sh" or something and give it execute permissions with
chmod +x move_windows.sh and then create a launcher for it.