Vous pouvez éditer ~/Library/Preferences/com.apple.LaunchServices.plist
dans un éditeur de texte après l'avoir converti en XML:
plutil -convert xml1 ~/Library/Preferences/com.apple.LaunchServices.plist
Ajoutez ensuite des entrées comme celle-ci au LSHandlers
tableau:
<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>
Vous pouvez utiliser mdls
pour voir les UTI des types de fichiers et quelque chose comme osascript -e 'id of app "AppName"'
pour voir les identificateurs de bundle des applications.
Vous pouvez appliquer les modifications à com.apple.LaunchServices.plist
en redémarrant. Se déconnecter et se reconnecter ne suffit pas.
REMARQUE : duti
n'est plus en développement actif et a été étiqueté par ses responsables comme "non pris en charge". Le projet n'a pas connu de progrès majeur depuis 2012, à l'exception des mises à jour de configuration. Il est passé de Sourceforge à Github. Cette réponse a été mise à jour pour inclure les nouveaux liens.
J'utilise aussi duti cependant. J'ai enregistré un fichier comme celui-ci (avec environ 100 lignes) sous ~/.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
J'ai un agent launchd qui s'exécute duti ~/.duti
automatiquement lorsqu'il ~/.duti
est modifié.
Vous pouvez normalement utiliser des extensions de nom de fichier (comme .jpg
) au lieu d'un UTI (comme public.jpg
) pour spécifier les types de fichiers. duti
convertit les extensions en UTI qui s'appliquent également à d'autres extensions (comme .jpeg
). Pour certaines extensions comme .mkv
et .tex
, l'UTI dépend de l'application qui a enregistré l'extension en premier.
La dernière version de duti
comprend uniquement le code source, mais 1.5.0 inclut également un programme d'installation.
brew install duti
pour installerduti