Open Mail Attachment con programmi standard Unix

2

Uso emacs come editor di testo standard. Quando qualcuno mi invia un allegato di posta che contiene del testo (ad esempio un file LaTeX *.tex ), Mail non sa come aprirlo e mi chiede di selezionare un'applicazione per l'apertura. Viene visualizzata una finestra del Finder che elenca tutte le applicazioni installate, alcune delle quali sono editor di testo, ad es. TextEdit.

Il programma emacs vive in /usr/bin/emacs , ma la directory /usr non è visibile per impostazione predefinita in Finder. Dopo alcune ricerche su Google, ho trovato che l'esecuzione di un

sudo chflags nohidden /usr

renderà la directory /usr visibile nel Finder. Posso quindi navigare a /usr/bin e vedere emacs in quella directory, ma è grigio e non selezionabile.

Come seleziono una non - Applicazioni (cioè / usr / bin / emacs, / usr / bin / vim , / usr / bin / gs, ecc.) programma da utilizzare per aprire gli allegati di posta elettronica?

    
posta cm2 21.12.2011 - 19:49
fonte

3 risposte

2

Ok, quindi puoi farlo per qualsiasi programma Unix per cui vuoi creare un wrapper.

Crea un'applicazione di Automator con una singola azione: Esegui AppleScript.

Esegui il seguente script:

on run {input, parameters}
        set x to "/usr/bin/vim " & quoted form of POSIX path of input
    tell application "Terminal"
        activate
        do script x
    end tell
end run

Se vuoi davvero utilizzare qualche altro editor al posto di vim, puoi sostituire /usr/bin/vim nella seconda riga dello script con il percorso di qualunque comando tu stia tentando di utilizzare per aprire i file da Mail.

    
risposta data 21.12.2011 - 22:31
fonte
2

Non è possibile poiché il processo è controllato da LaunchServices

Quando un'applicazione, ad es. Mail.app vuole aprire un documento che avvia (o riavvia) l'applicazione che lo legge e invia informazioni al documento da parte di Apple Events come descritto in Apri operazioni

quindi gli handler devono riconoscere questi Apple Event che sono gestiti dalle librerie Cocoa o Carbon.

Quindi per usare emacs, vi ecc. è necessario usarne uno come app, ad es. Versione Aquamacs, Cocoa o Carbon di emacs, MacVim ecc.

Un altro modo di pensarci è se non c'è un terminale aperto su come scrivere il comando Unix sulla GUI?

    
risposta data 21.12.2011 - 21:42
fonte
1

A seconda di come hai installato emacs, è probabile che sia già disponibile con Emacs.app. Potresti quindi semplicemente copiare (o collegare) questo nella directory / Applicazioni. Nel mio caso (un'installazione di Homebrew) ciò avverrà:

cp -R /usr/local/Cellar/emacs/23.2/Emacs.app /Applications/

o

ln -s /usr/local/Cellar/emacs/23.2/Emacs.app /Applications/

Emacs.app può quindi essere utilizzato in qualsiasi finestra di dialogo "Apri con ..." di Mac OS X.

    
risposta data 23.12.2011 - 14:50
fonte

Leggi altre domande sui tag