È possibile modificare ~/Library/Preferences/com.apple.LaunchServices.plist
in un editor di testo dopo averlo convertito in XML:
plutil -convert xml1 ~/Library/Preferences/com.apple.LaunchServices.plist
Quindi aggiungere voci come questa LSHandlers
all'array:
<dict>
<key>LSHandlerContentType</key>
<string>com.adobe.pdf</string>
<key>LSHandlerRoleAll</key>
<string>net.sourceforge.skim-app.skim</string>
</dict>
<dict>
<key>LSHandlerContentTag</key>
<string>mkv</string>
<key>LSHandlerContentTagClass</key>
<string>public.filename-extension</string>
<key>LSHandlerRoleAll</key>
<string>org.videolan.vlc</string>
</dict>
Puoi usare mdls
per vedere le UTI dei tipi di file e qualcosa di simile osascript -e 'id of app "AppName"'
per vedere gli identificatori di bundle delle applicazioni.
È possibile applicare le modifiche com.apple.LaunchServices.plist
riavviando. Disconnettersi e riconnettersi non è sufficiente.
NOTA : duti
non è più in fase di sviluppo attivo ed è stato etichettato dai suoi manutentori come "non supportato". Il progetto non ha registrato grandi progressi dal 2012 a parte gli aggiornamenti di configurazione. Si è spostato da Sourceforge a Github. Questa risposta è stata aggiornata per includere i nuovi collegamenti.
Uso anche duti però. Ho salvato un file come questo (con circa 100 righe) come ~/.duti
:
org.gnu.Emacs public.plain-text all # .txt, .text, plain text files without an extension
org.gnu.Emacs public.unix-executable all # executable scripts
com.SequentialX.Sequential .jpg all
org.videolan.vlc .mkv all
Ho un agente di avvio che viene eseguito duti ~/.duti
automaticamente quando ~/.duti
viene modificato.
In genere è possibile utilizzare estensioni di file (come .jpg
) anziché UTI (come public.jpg
) per specificare i tipi di file. duti
converte le estensioni in UTI che si applicano anche ad altre estensioni (come .jpeg
). Per alcune estensioni come .mkv
e .tex
, l'UTI dipende da quale applicazione ha prima registrato l'estensione.
L' ultima versione di duti
solo include il codice sorgente, ma 1.5.0 include anche un programma di installazione.
brew install duti
per l'installazioneduti