Como copio um link para uma mensagem Mail.app sem usar arrastar e soltar?

8

Mantenho um diário e gosto de ter links para mensagens de e-mail, meu cliente de e-mail é Mail.app no OSX. Eu posso arrastar e soltar links para o meu programa de diário (VoodooPad), mas eu realmente prefiro copiar e colá-los, então eu tenho um link que se parece com a mensagem: //%3C30533360.1931252053580.bla.bla.bla.

Existe uma maneira fácil de obter um link neste formato a partir do Mail.app?

    
por Lorin Hochstein 17.07.2009 / 20:09

3 respostas

9

Com base na resposta do splattne, e nesta entrada macosxhints, eu descobri como fazer isso. Agora, é apenas uma questão de usar algo como Quicksilver of FastScripts para vinculá-lo a um atalho de teclado.

tell application "Mail"
  set selectedMessages to selection
  set theMessage to item 1 of selectedMessages  
  set messageid to message id of theMessage
    -- Make URL (must use URL-encoded values for "<" and ">")
  set urlText to "message://" & "%3c" & messageid & "%3e"  
  set the clipboard to (urlText)     
end tell
    
por 19.07.2009 / 16:55
1

Se eu interpretar corretamente sua pergunta, você poderá usar uma variação do AppleScript nesses posts:

por 17.07.2009 / 20:30
0

Não é uma resposta para a pergunta que você já respondeu, mas apenas para os arquivos:

Depois de salvar um arquivo de um site ou de uma mensagem de e-mail, pode-se usar Obter Informações no Finder para ache de onde um arquivo veio . Para um anexo de e-mail, isso mostra a mensagem Remetente, Assunto e o URL referente a essa mensagem.

Em vez de Get Info, também é possível usar a linha de comando para obter as informações:

mdls -name kMDItemWhereFroms <filename>

Usando o comando open , essa URL fará com que o OS X ative o aplicativo padrão, assim como ativaria o TextEdit para um arquivo de texto. Para message: URLs, o Mail.app será iniciado para mostrar a mensagem (se ainda existir).

Combinado com alguns AppleScript dos comentários no link acima:

on open these_items 
   set first_item to item 1 of these_items 
   set full_path to quoted form of POSIX path of first_item 

   set cmd to ¬ 
      "/usr/bin/mdls -name kMDItemWhereFroms " & ¬ 
      full_path & " | grep 'http:\|https:\|message:' | xargs open" 
   do shell script cmd 
end open

Cole o AppleScript acima no Editor de scripts e salve-o como um aplicativo, com a opção Executar somente . Agora, ao arrastar qualquer arquivo para esse aplicativo, a fonte será aberta, se aplicável. Eu certamente não sou um especialista em AppleScript, e o acima não faz nenhum tratamento de erros, ele simplesmente pega o primeiro arquivo quando vários arquivos são soltos no aplicativo, e ele não suporta diretórios. Mas a ideia é essa, eu acho.

(As barras invertidas em http:\ acima são intencionais e não devem ler // . O script procura http: , https: ou message: . Em outras palavras: elas não têm a intenção de ser uma parte de http:// , mas juntos formam uma barra invertida com escape, para escapar do caractere pipe no comando grep .

    
por 02.08.2009 / 23:33