“This is the problem: You want to open a file using something other than the default application. You right-click its icon in the Finder, choose Open With, and a submenu pops up with an absurd number of duplicate entries.” This is so annoying. Dr. Dang made a little addition to .bashrc so you can fix it with a single command. Now it’s up to Apple to actually fix the problem (via Daring Fireball).
It is annoying and the fix is so simple making you wonder why Apple doesn’t make OS X do this automatically once in a while.
They haven’t fixed it because it’s a feature.
Apple have cleverly duplicated entries so people with twitchy arms don’t have to worry quite so much about point and click accuracy.
Apple are once again innovating usability.
It doesn’t really degrade usability.
Files open with default application. The problem mentioned occurs when you right click on a file and select “Open with”, then you may or may not see some duplicate entries. It’s probably caused by the developers of those applications rather than Apple.
Most people don’t even go there so they’ll never notice this.
But when you do go there it doesn’t look cool. With a fix so easy ‘n’ quick I think it would made sense if Apple made OS X do this once a week or so.
I didn’t say it did. It was just a (bad) joke post
Yeah, I know how “open with” works.
It would be better if OS X didn’t do that at all. KDE and -as far as I can remember- Windows doesn’t create duplicate entries. And I don’t mean that as flamebait because all OS’s / desktop environments have their own quirks (it’s to be expected given the complexity of such software). I just mean that running additional processes every week to catch a bug that should be caught when new entries are being added seems like the wrong approach – which I’m guessing is the reason why Apple have never implemented a weekly job.
Edited 2013-02-20 12:04 UTC
My guess is the difference between Windows/Linux and OS X is that OS X doesn’t seem to have some kind of database system that holds information of installed software and a lot of applications don’t have an installer, but are installed by drag ‘n’ drop.
If an app doesn’t check if a previous version already inserted itself in to the “open with” menu it will probably add itself too, causing a duplicate.
Windows and Linux do work with installers, uninstallers and know what is installed.
Installers, or the lack there of, aren’t in and of themselves the issue. I’ve seen Windows installers that do far worse than have duplicates in the open with menu (Adobe, I’m looking at you). I’ve even seen some several years back that created double start menu entries because, rather than check for proper lnk files, they simply created duplicates so you had “Adobe Acrobat.lnk” and “Adobe Acrobat (1).lnk”, both of which showed up in the menu as “Adobe Acrobat.” I’ve seen Linux packages do similar things, though not recently. I haven’t really encountered these issues on any os for at least a year, and I’m sure not complaining, but it’s hardly a Mac-specific issue. No matter what the installation system, clumsy developers will eventually cause problems like this.
Remember this is coming from the company that allowed you to create duplicate files on the Apple Lisa.
Maybe the madness has continued until today?
As in any software company it is a matter of priorities.
I bet this one is marked as minor.
Well, I guess it IS minor, but it’s also so easy to fix that someone could do it during the lunch break.
True, unless the developers don’t have a say in what gets fixed.
Isn’t tcsh the default shell?
In which case the alias would be placed in ~/.tcshrc and the = replaced with a space, ie
alias fixopenwith ‘<rest/goes/here>’
Etiennes-MacBook-Pro-2:~ etienne$ echo $SHELL
/bin/bash
Etiennes-MacBook-Pro-2:~ etienne$ which tcsh
/bin/tcsh
The defaut is Bash, but you can use tcsh if you want to.
Tcsh hasn’t been the default shell for OS X since at least 10.2, if I remember correctly. It is my preferred shell though, and fortunately it’s still there without having to install any additional packages.
The problem occurs not because the database is corrupted, but because application developers don’t check for existing entries when installing updates. For example, most applications on OS X use the Sparkle framework (or an in-house equivalent) to check for application updates at launch if the user has enabled this. Upon finding an update, you have the option to install it. However, at the install phase, the proper thing for the update to do is to query the LaunchServices database and, if an entry already exists there, to skip creating one. Sadly, particularly in apps that use their own updaters, this is forgotten and the result is duplicates. That being said, I do think that either OS X should do this automatically or else have an easily accessible option to do this (perhaps at the bottom of the open with submenu).
I haven’t seen this on my current install of OS X which I’ve had for about a year, but I used to see this much more several years back. Maybe some application developers are starting to clean up their messes.
After using a mac for the last 3 years I haven’t encountered this bug. I guess it just affects certain applications?
VLC is an app that had duplicate entries on my Mac.
Yes, it will only happen with applications that do not check if they already exist before creating more entries in LaunchServices. These days, most apps seem to check for this although there are still a few that do not.