Revelar no PathFinder / Finder

0

Estamos usando o AppleScript para revelar arquivos de nosso aplicativo no Finder. Se um usuário tiver alternativas, por exemplo, o PathFinder, instalado como um substituto do Finder, como podemos encontrar nosso aplicativo para informar os comandos do AppleScript?

    
por Mike L. 10.03.2011 / 19:22

2 respostas

2

Você pode tentar usar isso:

try
    tell application "Path Finder" to reveal "/Users/danielbeck/Downloads"
on error
    tell application "Finder" to reveal folder "Downloads" of home
end try

Mas isso pressupõe que um usuário com o Path Finder prefira a funcionalidade de revelação.

Alternativamente,

do shell script "open 'file:///Users/danielbeck/Downloads'"

Quando um usuário tiver configurado o Path Finder para manipular file:// URLs, isso abrirá a pasta no Path Finder. Só funciona com pastas.

Você pode usar o seguinte para obter uma lista de processos:

tell application "System Events"
    processes
end tell

Procure um processo chamado Finder. Se não for encontrado, o usuário não terá o Finder em execução. Ou procure por um Path Finder chamado e, se encontrado, use-o. Etc.

    
por 11.03.2011 / 11:26
0

Enquanto o @Daniel Beck forneceu uma boa resposta acima, aqui está um manipulador que uso para revelar no Finder o item atualmente selecionado no Path Finder. Muitas vezes eu preciso fazer algo na janela do Finder, então eu adicionei uma pausa até o nome da janela do Finder é o mesmo que o nome da janela Path Finder.

Para referência futura, estou mantendo este trecho no meu GistHub em: revealPFItemInFinder.applescript

'''applescript
--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
on revealPFItemInFinder()
  --–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
  (*  VER: 2.0    2018-03-15
    PURPOSE:  Reveal Item in Finder that is Selected in Path Finder

    RETURNS:  alias of item selected in both Finder and Path Finder

    AUTHOR:  JMichaelTX
  --–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
  *)

  --- GET THE ITEM SELECTED IN PATH FINDER ---

  tell application "Path Finder"
    set fileList to (get selection)
    if ((fileList is missing value) or ((count of fileList) ≠ 1)) then error ("You must select only ONE file in Path Finder.")
    set pfWinName to name of window 1
    set itemPath to POSIX path of item 1 of fileList
  end tell

  set itemAlias to alias POSIX file itemPath

  --- REVEAL SAME ITEM IN FINDER ---

  tell application "Finder"
    activate -- to make sure reveal will be in frontmost window
    reveal itemAlias

    --- Now Wait for New Finder Window with Same Name as Path Finder ---

    set finWinName to name of window 1

    set maxWaitTime to 2.0
    set delayTime to 0.1
    set waitTime to 0

    repeat while finWinName ≠ pfWinName
      delay delayTime
      set finWinName to name of window 1
      set waitTime to waitTime + delayTime
      if (waitTime > maxWaitTime) then error "Max wait time of " & maxWaitTime & " exceeded waiting for Finder Window of " & pfWinName
    end repeat

  end tell

  return itemAlias

end revealPFItemInFinder

'''
    
por 15.03.2018 / 07:37