Por que esse comando tell inicia um programa?

0

O seguinte appleScript é executado como parte de um programa maior que eu uso regularmente:

on run {viewer, path_to_pdf}
    if viewer is "Skim" then
        display notification "Skim opened: " & viewer & "!!!"
        tell application "Skim"
            revert (documents whose path is path_to_pdf as text)
        end tell
    else if viewer is "TeXShop" then
        display notification "TexShop opened: " & viewer & "!!!"
        tell application "TeXShop"
            tell documents whose path is path_to_pdf as text to refreshpdf
        end tell
    end if
end run

Atualmente, tenho o visualizador definido para percorrer este programa maior, por isso, quando este script for executado, recebo a notificação "Skim opened: Skim !!!" e o skim atualiza meu pdf como seria de se esperar. Mas o TeXShop também abre!

Eu acredito que este é o código que faz o TeXShop abrir, porque se eu excluir tell application "TeXShop" ... end tell do código, então o skim é atualizado como esperado e o TeXShop não abre . Estou confuso porque nunca recebo a notificação de exibição que o TeXShop está abrindo. Este script é chamado apenas uma vez por execução e, por notificação, está sendo passado como um argumento "Skim", para que o bloco de código não seja executado ... exceto que ele ainda tem efeitos no sistema ??

Alguém pode explicar o que está acontecendo aqui?

    
por Jim 06.01.2015 / 22:12

0 respostas