Comment puis-je ajouter une nouvelle application au menu Ouvrir avec?

52

Comment puis-je ajouter une application au menu Ouvrir avec (affiché après un clic droit) pour un type de fichier donné, sans que ce fichier soit toujours ouvert avec cette application?

Dans ce cas spécifique, j'aimerais pouvoir ouvrir un fichier d'emplacement de site Web (.URL) avec TextEdit, tout en utilisant par défaut Safari.

Je suis sous OS 10.7.4.

KatieK
la source
3
Si le programme peut l'ouvrir, il s'ajoutera à ce menu. Sinon, cela signifie qu'il ne peut pas l'ouvrir.
Anriëtte Myburgh
12
Cela ne semble pas toujours être vrai. TextEdit peut ouvrir des URL, mais cela ne se trouve pas dans le sous-menu "Ouvrir avec".
KatieK

Réponses:

25
  1. Ajoutez ceci au tableau CFBundleDocumentTypes dans /Applications/TextEdit.app/Contents/Info.plist:

    <dict>
        <key>CFBundleTypeExtensions</key>
        <array>
            <string>url</string>
        </array>
    </dict>
    
  2. /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -f /Applications/TextEdit.app/

  3. killall Finder
  4. Reconvertir l'application par défaut en Safari dans le Finder

Si l'application est signée, la modification d'un Info.plist invalide la signature de code . Il provoque également le blocage de quelques applications telles que TextEdit et WriteRoom au lancement de la version 10.8.

Lri
la source
1
Peut-être que c'est juste mon ordinateur, mais cela ne fonctionne pas pour moi. Après avoir suivi cette procédure (jusqu'à l'étape 3), TextEdit n'est pas disponible sous "Ouvrir avec" pour les fichiers .URL. De plus, la modification de Info.plist semble provoquer le blocage de TextEdit dans 10.7 également.
KatieK
11
Y a-t-il un moyen de rendre cela plus général? Par exemple , je veux que mon éditeur hexadécimal (actuellement HexFiend) en option pour ouvrir tous les types de fichiers , y compris ceux qui ne goddamn ayant une extension de fichier ...
Steven Lu
@StevenLu: J'ai créé un raccourci Finder dans BetterTouchTool pour ouvrir le fichier actuellement sélectionné dans HexFiend.
biziclop
11

Essayez de sélectionner le fichier dans le Finder et d’effectuer Fichier> Lire les informations. À partir de là, vous devriez pouvoir choisir n’importe quelle application avec laquelle l’ouvrir. Une fois que vous avez ouvert ce type de fichier dans cette application, il devrait apparaître dans le menu Ouvrir avec.

EDIT: La réponse ci-dessus ne fonctionne pas. Suggestion alternative:

Je me suis senti mal que ma réponse précédente était incorrecte, alors j'ai cherché sur Google. J'ai trouvé cette astuce dans Mac OS X

  • Cliquez sur l'application en question tout en maintenant la touche Contrôle enfoncée et cliquez sur "Afficher le contenu du paquet".
  • Ouvrez le dossier Contenu dans l’ensemble d’applications. Vous y trouverez un fichier appelé Info.plist. Ceci est une liste de propriétés XML qui stocke toutes sortes d'informations sur l'application.
  • Ouvrez le fichier avec votre éditeur de texte préféré. Je recommande Hydra, mais TextEdit fera très bien l'affaire.
  • Rechercher quelque chose qui ressemble à ce qui suit:

    <key>CFBundleTypeExtensions</key>
    <array>
        <string>txt</string>
        <string>srt</string>
        <string>suffix1</string>
        <string>suffix2</string>
        …
    

    et ainsi de suite, avec les suffixes que l’application peut ouvrir est contenue dans les balises. Ensuite, vous supprimez simplement [ ou ajoutez --newtron ] le suffixe des éléments que vous ne souhaitez pas [ ou ne souhaitez pas ] ouvrir l'application.

  • Enregistrez le fichier et fermez-le (ou quittez l'éditeur).

Newtron
la source
Ça n'a pas l'air de fonctionner. Dans "Obtenir des informations", je peux "Ouvrir avec" les mêmes applications que la normale ou choisir "Autres". Si je choisis "Autre", je peux choisir parmi toutes les applications et cocher ou décocher "Toujours ouvrir avec". Même après avoir ouvert le fichier une fois avec TextEditor, il n'apparaît pas comme une option supplémentaire dans le sous-menu "Ouvrir avec".
KatieK
Shoot, tu as raison. Je vais modifier la réponse pour refléter cela et la mettre à jour avec une autre suggestion.
Newtron
Cette réponse mise à jour ne fonctionne pas toute seule, même après un redémarrage.
KatieK
Je pense que cette méthode a fonctionné avec le léopard des neiges .. superuser.com/questions/222065/…
Ryan Hollingsworth
8

La deuxième solution de newtron a fonctionné pour moi, mais seulement après avoir ouvert Terminal Server et exécuté la commande suivante:

/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain system -domain user

Après avoir redémarré le système, l'application souhaitée était dans mon menu contextuel "Ouvrir avec".

Merci

Joseph
la source
Ceci est également utile si vous souhaitez effacer la liste et recommencer. Par exemple, VMWare Fusion avait placé les entrées d'une manière ou d'une autre à celles orphelines lorsque la machine virtuelle correspondante a été supprimée. En utilisant ceci effacé les entrées incorrectes
ferdil
5

Au lieu d'ouvrir le fichier avec le menu contextuel, vous pouvez également faire glisser un fichier vers l'application de votre choix tout en appuyant sur les touches + . Cela forcera n'importe quelle application à essayer même si elle pense ne pas pouvoir le faire. Je l'utilise tout le temps.

myhd
la source
3

Vous pouvez ajouter l'option en tant que service avec Automator puis la déclencher avec une touche de raccourci clavier de Keyboard Maestro.

  1. Ouvrez Automatoret sélectionnez le Servicetype de document.
  2. Sélectionner Files and Foldersdans le Service receives selectedmenu du haut
  3. Recherchez et sélectionnez l' Open Finder Itemsaction.
  4. Maintenant, sélectionnez TextEditdansOpen with:
  5. Enregistrez le service avec le nom que vous souhaitez voir dans les menus

Vous pouvez maintenant trouver ceci par:

  • Faites un clic droit sur le fichier> Services

entrez la description de l'image ici

OU

  • Menu Finder> Services (avec un fichier sélectionné)

entrez la description de l'image ici

Mais vous ne devez pas vous arrêter là!

J'ai ensuite créé une macro Keyboard Maestro afin que je puisse simplement utiliser une touche de raccourci pour le faire: entrez la description de l'image ici

J'ai eu cette idée de ce site: http://www.mactricksandtips.com/2013/05/add-open-with-textedit-or-any-other-app-to-right-click-menu-item.html

kraftydevil
la source
C'est un excellent moyen de le faire, merci beaucoup !!
Lucas P.
J'utilise le service tout le temps mais j'ai oublié j'ai fait une macro pour le faire. Rien de tel que de redécouvrir une macro!
kraftydevil
Je n'avais jamais utilisé Automator auparavant (ou je ne savais pas ce qu'il faisait), vous venez d'ouvrir pour OSX un tout nouveau monde :)
Lucas P.
0

Une suite à la solution de newtron:

Vous y trouverez un fichier appelé Info.plist. Ceci est une liste de propriétés XML qui stocke toutes sortes d'informations sur l'application. Ouvrez le fichier avec votre éditeur de texte préféré. Je recommande Hydra, mais TextEdit fera très bien l'affaire.

Enregistrez le fichier et fermez-le (ou quittez l'éditeur).

Vous ne pouvez pas enregistrer le fichier .plist modifié si votre compte ne dispose pas des autorisations appropriées (le problème dont je traite maintenant - même avec le statut administrateur, vous ne disposerez pas des autorisations d'accès en lecture + écriture sur certains fichiers et dossiers .. .) Pour enregistrer les modifications apportées aux fichiers .plist, vous devez donner à votre utilisateur les autorisations de lecture et d'écriture.

Certaines applications Mac par défaut rendent cette tâche difficile et je suis actuellement à la recherche d'une solution (mise à jour) pour le faire avec TextEdit.

Montag
la source
0

Cela a fonctionné pour moi: faites un clic droit sur votre application, accédez au contenu et ouvrez /Applications/*****.app/Contents/Info.plist.

Ouvrez Plist dans Xcode en tant que SourceCode puis placez ceci:

        <dict>
            <key>CFBundleTypeExtensions</key>
            <array>
                <string>jpeg</string>
                <string>jpg</string>
                <string>png</string>
                <string>gif</string>
            </array>
            <key>CFBundleTypeIconFile</key>
            <string>AutomatorApplet.icns</string>
            <key>CFBundleTypeName</key>
            <string>AutomatorApplet.icns</string>
            <key>CFBundleTypeOSTypes</key>
            <array>
                <string>GIFf</string>
                <string>JPEG</string>
                <string>PNGf</string>
            </array>
            <key>CFBundleTypeRole</key>
            <string>Viewer</string>
        </dict>

J'ai eu 'AutomatorApplet.icns' dans le dossier Ressources.

Xeieshan
la source
S'il vous plaît ajoutez ce que vous avez essayé de réaliser en ajoutant l'entrée dict. En l'état actuel de votre réponse, il n'utilise pas l'exemple (.url) donné dans la question.
klanomath
-3

Consultez le tech-recipes.com pour des instructions détaillées. Comme @ Anriëtte l'a fait remarquer, l'application devrait apparaître dans le menu Ouvrir avec si elle peut ouvrir le fichier spécifique.

karmatique
la source
Cela ne fonctionne pas pour moi car je ne veux pas changer l'application par défaut qui ouvre le fichier. Je veux juste un choix supplémentaire.
KatieK