Combinando a caixa de diálogo Abrir / salvar do Finder File com Alfred

3

A caixa de diálogo Abrir / Salvar arquivo do Finder é realmente muito burra (em termos de flexibilidade). Quando procuro um arquivo ou sua localização, provavelmente consigo encontrá-lo muito mais rápido usando Alfred.

No entanto, em muitos casos, você apenas precisa usar esse diálogo. Não particularmente quando você abre arquivos, mas por exemplo quando especifica o local para salvá-los.

Como sou um usuário apenas de teclado (pelo menos 99% das vezes), acho tedioso iniciar o Alfred, revelar o arquivo / diretório no Finder e arrastá-lo (ou seu ícone de proxy) para a caixa de diálogo. para abrir / salvar.

Existe alguma maneira de obter um mecanismo de seleção de arquivo / pasta com estilo difuso, somente para teclado, para esse diálogo?

Eu poderia imaginar usando Alfred e AppleScript para isso, mas não sei por onde começar. O resultado final seria que eu poderia selecionar o arquivo ou pasta apropriado via Alfred.

Observe que:

  • Eu tenho o Alfred Powerpack, então o AppleScript é possível.
  • Eu sei que Alfred tem uma ação "Abrir com ...". Isto não é o mesmo.
  • Eu sei que posso ir para pastas com G, mas é fraco em comparação com o que um shell real oferece.
  • Sei que você pode pesquisar no Spotlight nessa caixa de diálogo, mas prefiro os recursos de Alfred.

Atualização, 5 anos depois: eu vim procurando uma solução para isso e me deparei com minha própria pergunta. Eu também encontrei esse tópico no qual as pessoas sugeriram vários fluxos de trabalho, mas o único que realmente funcionaria diretamente agora é um link morto (você não gosta disso quando coisas somente texto estão hospedadas no Dropbox de alguém?).

slhck
fonte
Nem Alfred nem as caixas de diálogo de arquivo podem ser escritas, então duvido que você possa conseguir algo menos monstruoso apenas com o AppleScript.
Lri
Eu não sabia que diálogos eram absolutamente proibidos aqui, mas não estou limitado ao AppleScript. A parte de Alfred não deve ser o problema, eu acho.
slhck

Respostas:

3

Depois de encontrar o arquivo usando Alfred, você pode copiar o caminho para a área de transferência e colá-lo na ferramenta Ir para pasta das caixas de diálogo Abrir / Salvar.

Encontre seu arquivo em Alfred, pressione a tecla de seta para a direita para visualizar a lista de operações desse arquivo, a tecla de seta para cima para ir para a última opção (Copiar caminho para a área de transferência) e, em seguida, pressione a tecla Enter para ativar essa opção.
Volte para a caixa de diálogo Abrir / Salvar, pressione cmd- shift- gpara abrir a caixa de diálogo Ir para pasta, cole o caminho e pressione Enter. O arquivo será selecionado e você pode pressionar Enter para abrir / salvar.


Se você estiver interessado em obter mais flexibilidade nas caixas de diálogo Abrir / Salvar, recomendo a Pasta X padrão . É imensamente poderoso e personalizável e pode eliminar a necessidade de soluções alternativas como essa.
Avaliação de $ 35, 30 dias

Nathan Greenstein
fonte
Infelizmente, nem todas as caixas de diálogo Ir para pasta aceitam o caminho colado quando ele é copiado do Alfred (por exemplo, Photoshop). Além disso, o caminho é entre aspas simples e eu precisaria retirar as aspas para que isso funcionasse.
slhck
0

Cinco anos depois, encontrei uma solução usando um AppleScript mais antigo que foi postado aqui , que não estava mais funcionando porque a janela Ir para ... usa um em ComboBoxvez de um TextField.

Veja como usar isso em Alfred:

  • Crie um novo fluxo de trabalho
  • Inserir uma ação de arquivo
  • Insira uma ação Executar NSAppleScript e conecte os dois
  • Cole o script abaixo
  • Salve o fluxo de trabalho e atribua a ele um nome adequado e um identificador de pacote

Para usá-lo na prática, aguarde a abertura de um diálogo de seleção de arquivo, inicie o Alfred, selecione o arquivo / pasta desejado e execute a ação que você acabou de criar.

Aqui está o script:

on alfred_script(q)
set filePath to POSIX path of q as text

tell application "System Events"
    set theApplication to application processes whose frontmost is true
    set target to item 1 of theApplication
    set target to a reference to front window of target
    set target to a reference to front sheet of target
    delay 0.5
    tell target to keystroke "g" using {command down, shift down} -- Activate goto field
    delay 0.5
    tell target
        set value of combo box 1 to filePath
        delay 0.5
        key code 36 -- simulate pressing the Enter key
    end tell
end tell
end alfred_script
slhck
fonte