1

Possible Duplicate:
How can I change Open With list (remove somthing or change)

This question is obviously NOT a duplicate as actual reading more than one sentence will show.


Every [too often] in a [forever] there will be problems with the Open With context menu item. I've seen it changed around a lot, and it's still horrible. Applauds

Now once again I've got a corrupt item that I want to replace with the correct item that is installed cleanly into the Application menu. I updated a program, and although all traces of the old are gone, the context-menu insists on living in the past. I cannot for the love of me find a fix.

What did I do? I installed the (awesome and overshadowing all the other excuses for image viewers for Linux out there) XnViewMP image viewer. Then sometime later, I updated it.

The old one was started with /usr/local/share/XnViewMP/xnview.sh. The new one with /usr/sbin/xnview

I tried the basic FAQs out there.

  • There is the Open With -> More -> Show Other Applications -> XnView that just gives me an error about /usr/local/share/XnViewMP/xnview.sh not existing. I know!
  • There is the Open With tab in the File Properties that has the option to forget an association, but that doesn't do anything. I can reset the association. Then I can add XnView again, but it has the same problem.
    • To the idiots that closed this question as a duplicate of this one: The solution there is exactly what I am talking about here! It's different and not applicable here. You ruined a perfectly good question! Thanks a lot.

I just need to know where this little Open With system gets its information*, use a hammer and a blowtorch on whatever files it uses, and manually enter the same path that the Application Menu is clever enough to use.

I've got the hammer and the blowtorch. Now where are the files I am looking for? *

*) I have marked the most important sentences to help people understand that this is NOT a duplicate question of the one it's marked for.


Answered my own question

  1. /usr/share/applications/*.desktop
    • Global (root) applications, you cann add default mimetypes here:
    • MimeType=image/bmp;image/gif;image/tiff;image/jpeg;image/x-psp;image/png;image/jp2;image/jpeg2000;image/jpx;
  2. /usr/share/applications/defaults.list
    • Contains these global associations in a single file, which is created from all the .desktop files from time to time.
  3. ~/.local/share/applications/*.desktop
    • Local (user) applications
  4. ~/.local/share/applications/mimeapps.list
    • Contains these local associations in a single file, which is created from all the .desktop files, plus customizations from the Open With dialog.

In my case, I had to manually change all mentions of userapp-xnview.sh-C2F5D4.desktop to XnView.desktop. Resetting the associations didn't work and the correct app never showed up. Which is both a bug and completely different from the duplicate you closed this question for.

Log off and on again before it takes effect.

Redsandro
  • 3,674
  • This does not seem to be a duplicate of the suggested question. Manually adding application (like making Adobe Reader the default pdf reader: application/pdf=acroread.desktop) in the ~/.local/share/applications/mimeapps.list file is pretty neat. Thanks! – yuvilio Sep 03 '13 at 21:09

0 Answers0