È possibile indicare un processo in background come SystemUIServer per visualizzare la finestra di dialogo. La finestra precedentemente focalizzata non riprende l'attenzione dopo che la finestra di dialogo è stata chiusa per impostazione predefinita. Eventi di sistema e AppleScript Runner potrebbero avere piccoli ritardi se prima non erano in esecuzione.
answer=$(osascript -e 'try
tell application "SystemUIServer"
set answer to text returned of (display dialog "" default answer "")
end
activate app (path to frontmost application as text)
answer
end' | tr '\r' '\n')
[[ -z "$answer" ]] && exit
Si potrebbe anche dire all'applicazione in primo piano di visualizzare una finestra di dialogo, ma è spesso leggermente più lento. La finestra di dialogo non viene visualizzata immediatamente se l'applicazione non risponde. Se MPlayer OS X è in primo piano, le finestre di dialogo di testo non accettano alcun input da tastiera.
answer=$(osascript -e 'try
tell application (path to frontmost application as text)
text returned of display dialog "" default answer ""
end
end' | tr '\r' '\n')
[[ -z "$answer" ]] && exit