OSX Firefox Pass Argumentos para manipulador de protocolo magnético

2

Como faço para abrir links magnéticos no Firefox com um aplicativo de linha de comando, ou seja, transmissão remota?

Acho que preciso criar um aplicativo de pacote que aceite argumentos e eis o que fiz até agora:

  1. Use o Automator para executar um script de shell com o seguinte:

    transmission-remote -a $@

  2. Salve o script do Automator como Transmission.app

  3. Escolha Transmission.app no Firefox ao usá-lo para links magnéticos

No entanto, passar argumentos para isso requer:

open Transmission.app --args magnet:etc

Suponho que o Firefox esteja fazendo algo como: Transmission.app %s , mas não sei dizer como o Firefox está transmitindo argumentos para o aplicativo auxiliar. Eu também tentei criar um script de shell de invólucro e nomeá-lo helper.app sem sucesso.

Como alternativa, o Firefox pode usar algo assim como um manipulador de protocolo, onde eu posso passar% s?

open Transmission.app --args %s

EDIT: DS resposta aparentemente funciona no Snow Leopard e Lion, mas eu ainda sou problemas com argumentos em branco a serem enviados do Firefox. Vou colar meu comentário aqui também:

Eu tentei o seguinte, mas apenas os espaços em branco são enviados: echo "$ @" > > ~ / somefile e echo "$ *" > > ~ / somefile com e sem aspas. Talvez seja minhas configurações do Firefox (about: config?). Eu estou no 19.0.2 (mais recente), OSX 10.8.2 no caso de alguém mais entrar em sintonia ...

    
por Lionel 27.12.2012 / 11:01

1 resposta

1

Eu estava lutando com a mesma pergunta. Eu tenho que trabalhar, e acho que você estava perdendo um pequeno passo. Aparentemente, o Firefox no Mac, para seus aplicativos "Open With", não passa argumentos via linha de comando ou variáveis de ambiente ou qualquer outro método similar ao unix. Ele usa os Serviços de inicialização do Mac. O Automator pode traduzi-los para argumentos de linha de comando. Os seguintes trabalhos no Snow Leopard:

  1. Inicie o Automator, selecionando Aplicativo para "Escolher um modelo para o seu fluxo de trabalho".
  2. Localize a ação "Executar script shell" e arraste ou clique duas vezes para adicioná-la.
  3. Para a lista suspensa "Passar entrada": escolha "Como argumentos" < - Acho que esse é o passo que está faltando.
  4. Para o menu suspenso "Shell": escolha o shell que você gosta (provavelmente / bin / sh, a julgar pela sua pergunta).
  5. O Automator fornecerá uma amostra de código, mas você desejará apenas o que já possui: transmission-remote -a "$@" (as aspas duplas permitem o encaminhamento correto de argumentos que contêm espaços).
  6. Salve o aplicativo.

Quando o Firefox executa este aplicativo para abrir arquivos / downloads, ele os transmite no modo nativo do Mac, depois o Automator os converte em argumentos de shell, e o shell script os encaminha para transmission-remote .

    
por 10.03.2013 / 08:27