Esto es un poco difícil, pero intente observar los cambios en algunos archivos que se modifican cuando la aplicación abre un documento.
Al utilizar launchd, puedes guardar esto como ~/Library/LaunchAgents/test.plist
y ejecutar launchctl load ~/Library/LaunchAgents/test.plist
.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC -//Apple Computer//DTD PLIST 1.0//EN http://www.apple.com/DTDs/PropertyList-1.0.dtd>
<plist version="1.0">
<dict>
<key>Label</key>
<string>test</string>
<key>ProgramArguments</key>
<array>
<string>osascript</string>
<string>-e</string>
<string>try
tell app "System Events" to tell process "QuickTime Player"
set position of window 1 to {500, 500}
end
end</string>
</array>
<key>WatchPaths</key>
<array>
<string>/Users/username/Library/Preferences/com.apple.QuickTimePlayerX.LSSharedFileList.plist</string>
</array>
</dict>
</plist>
No funcionará si abres varios documentos seguidos, porque launchd ejecuta programas solo a lo sumo cada 10 segundos.