Jaha, bra karl reder sig själv sägs det ju, så här är ett litet AppleScript jag knåpat ihop, som borde funka. Det är bara testat på Tiger, och jag har ingen extern skärm inkopplad, men jag tror jag har tänkt rätt.
property GlobalWindowHandling : true
property VerticalIncrement : 20
property HorizontalIncrement : 20
tell application "System Events"
launch
set myProcesses to application processes where windows is not {} and background only is false
set myPostition to {0, 22}
repeat with i in myProcesses
if GlobalWindowHandling = false then
set myPostition to {0, 22}
end if
set myProcess to contents of i
set myWindows to reverse of (get windows of myProcess)
repeat with w in myWindows
set myWindow to contents of w
set position of myWindow to myPostition
try
set item 1 of myPostition to (item 1 of myPostition) + VerticalIncrement
set item 2 of myPostition to (item 2 of myPostition) + HorizontalIncrement
end try
end repeat
end repeat
end tell
Öppna Manusredigeraren, klistra in ovanstående text och spara som ett programpaket. Kör genom att dubbelklicka på programmets ikon
Just nu radas alla programs fönster upp. Vill man hellre att varje programs fönster radas upp för sig själv kan man ändra sista ordet på första raden till "false" (utan citationstecken)
Just nu giter jag inte koppla in externa skärmar och testa om det går att läsa av huruvida fönstret är positionerat på huvudskärmen, och i så fall låta bli att ändra positionen, men det är kanske en naturlig utveckling för den som vill knåpa vidare med scriptet?