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.

I'm having an issue with forcing a file of a certain type to always open with a specific program. In this case, it's .indd (Adobe InDesign) files. I have Adobe CS6 installed, and also Adobe InDesign 5.5. I would like to always open .indd files with InDesign 5.5.

I've tried using Get Info > Open with: > InDesign 5.5 > Change All... but it keeps automatically switching back to CS6, immediately after clicking Change All....

Is there perhaps a way I can force this in Terminal?

share|improve this question
    
Although often there's no controlling Adobe, you might try changing permissions to user read/write in all relevant directories, with BatChmod or similar, and trying Change All again. –  Zo219 Dec 1 '12 at 10:36
add comment

2 Answers

You could try editing ~/Library/Preferences/com.apple.LaunchServices.plist:

defaults write com.apple.LaunchServices LSHandlers -array-add '{LSHandlerContentTag=indd;LSHandlerContentTagClass=public.filename-extension;LSHandlerRoleAll=com.adobe.InDesign;}'

Applying the changes requires restarting (logging out and back in isn't enough).

Rebuilding the LaunchServices database might also work, but it also resets other default applications set in Finder.

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

share|improve this answer
add comment

If you don't mind specifying InDesign 5.5 every time, then this command line should work:

open -a 'InDesign 5.5' myfile.indd

If you're going to do this often, you can wrap it in a shell script or bash function like

function indd() { open -a 'InDesign 5.5' "$@" ; }

Then you'll be able to simply say

indd myfile.indd

share|improve this answer
    
This is quite good, though ideally it should be a little more user-friendly. Is there a way to intercept a double-click on an .indd file, and send that action to the first bash script? –  Jezen Thomas Nov 30 '12 at 12:53
add comment

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.