Take the 2-minute tour ×
Ask Different is a question and answer site for power users of Apple hardware and software. It's 100% free, no registration required.

How can I add an application to the Open With menu (shown after right-clicking) for a given file type, without making that file always open with that application?

In this specific instance, I'd like to the option to open an Web site location (.URL) file with TextEdit, while still defaulting to Safari.

I'm running OS 10.7.4.

share|improve this question
3  
If the program can open it, then it will add itself to that menu. Otherwise, it means it can't open it. –  Anriëtte Myburgh May 31 '11 at 7:56
3  
This seems to not always be true. TextEdit can open URLs, but it is not in the "Open With" submenu. –  KatieK Jun 1 '11 at 22:07

5 Answers 5

up vote 8 down vote accepted
+200
  1. Add this to the CFBundleDocumentTypes array in /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. Change the default application back to Safari in Finder

If the application is signed, modifying an Info.plist invalidates the code signature. It also makes a few applications like TextEdit and WriteRoom crash on launch on 10.8.

share|improve this answer
    
Perhaps it's just my computer, but this does not work for me. After following this procedure (to step 3), TextEdit is not available under "Open With" for .URL files. Also, modifying Info.plist seems to cause TextEdit to crash in 10.7, too. –  KatieK Oct 16 '12 at 20:50
    
I edited the answer. .url files don't seem to have the same UTI as .webloc files. –  ؘؘؘ Oct 17 '12 at 4:19

Try selecting the file in the Finder and doing File > Get Info. From there you should be able to choose any application to open it with. Once you've opened that type of file in that application once, it should start appearing in the Open With menu.

EDIT: The answer above does not work. Alternate suggestion:

I felt bad that my prev answer was incorrect, so I googled around. I found this tip from Mac OS X Hints:

  • Control-click (or right-click) the app in question and select "Show Package Contents"
  • Open the Contents folder in the app bundle. There you'll find a file called Info.plist. This is an XML property list that stores all sorts of information about the app.
  • Open the file with your favourite text editor. I recommend Hydra, but TextEdit will do just fine.
  • Search for something that looks like the following:
<key>CFBundleTypeExtensions</key>
<array>
    <string>txt</string>
    <string>srt</string>
    <string>suffix1</string>
    <string>suffix2</string>
    ....

and so forth, with the suffices the app is able to open contained within the tags. Then you simply delete [or add --newtron] the suffix for items you don't want [or want] the app to open.

  • Save the file, and close it (or quit the editor).
share|improve this answer
    
This does not seem to work. In "Get Info", I can "Open With" the same applications as normal, or choose "Other". If I choose "Other", I can choose from all applications, and either check or uncheck "Always Open With". Even after opening the file once with TextEditor, it does not appear as an additional option in the "Open With" submenu. –  KatieK Jun 1 '11 at 22:12
    
Shoot, you're right. I will edit the answer to reflect this and update it with an alternate suggestion. –  newtron Jun 2 '11 at 0:37
    
This updated answer doesn't work all by itself, even after a reboot. –  KatieK Jun 8 '11 at 3:37
    
Think this method worked in snow leopard..superuser.com/questions/222065/… –  Ryan Hollingsworth Oct 10 '12 at 12:37

newtron's second solution worked for me but only after I opened Terminal and executed the following command:

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

After restarting the system the desired app was in my "open with" context menu.

Thanks

share|improve this answer

Instead of opening the file with the context menu, you can also drag any file to any desired application while pressing + keys. This will force any app to try even if it thinks it can't do so. I use this all the time.

share|improve this answer

Check out the tech-recipes.com for detailed instructions. As @Anriëtte pointed out the app should appear on the Open with menu if it can open the specific file.

share|improve this answer
    
This doesn't work for me because I don't want to change the default application which opens the file. I just want an additional choice. –  KatieK May 31 '11 at 15:12

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.