AppleScript obtener aplicación activa

12

¿Cómo puedo ejecutar el código (por ejemplo, display dialog("test") ) usando AppleScript solo si la aplicación "Finder" está actualmente enfocada / activa?

    
pregunta William 13.02.2015 - 00:44

1 respuesta

16

Esto funcionará si se llama a la secuencia de comandos desde el Editor de secuencias de comandos, ya que "se sale del camino" para verificar la próxima aplicación en línea, pero fallará si se hace doble clic en el Finder, ya que Finder siempre será la última en la línea .

tell application "System Events"
    set frontmostProcess to first process where it is frontmost
    set visible of frontmostProcess to false
    repeat while (frontmostProcess is frontmost)
        delay 0.2
    end repeat
    set secondFrontmost to name of first process where it is frontmost
    set frontmost of frontmostProcess to true
end tell

tell application (path to frontmost application as text)
    if "Finder" is in secondFrontmost then
        display dialog ("Finder was last in front")
    else
        display dialog (secondFrontmost & " was last in front")
    end if
end tell

Dejando la respuesta anterior aquí para la posteridad

La respuesta completa ha sido revisada después de no haber leído correctamente la pregunta inicialmente ;-)

tell application "System Events"
    set activeApp to name of first application process whose frontmost is true
    if "Finder" is in activeApp then
        display dialog ("test")
    else
        display dialog ("test2")
    end if
end tell
    
respondido por el Tetsujin 13.02.2015 - 09:14

Lea otras preguntas en las etiquetas