Nautilus 3.8 does not properly handle file associations to 'Open with'

Bug #1238634 reported by Helio Neto
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
nautilus (Ubuntu)
New
Undecided
Unassigned

Bug Description

Ubuntu Saucy Salamander 13.10 Beta amd64, fully updated 2013-10-09
Nautilus 3.8.2

(I don't have a machine running Saucy at this moment to attach more details, sorry.)

Nautilus since 3.8.0 completely ignores .desktop files that contain NoDisplay=true, which is used in Ubuntu by all applications that handle mime types but whose icons must not show up on the dash (or menu). The use of NoDisplay=true is recommended by Freedesktop.org ( http://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html#recognized-keys ), but GNOME devs said this was inconsistent and 'fixed' it: https://bugzilla.gnome.org/show_bug.cgi?id=696372

This has broken a lot of "open with" associations in Saucy.

Steps to reproduce, taking Wine as an example of installed package that uses a .desktop file to register 'wine windows program loader' as an optional application to "open with" Windows-exe mime types:
- If Wine is installed, in Nautilus it does not even appear as an "open with" option for .exe mime type. No way to select it.
- Using Ubuntu Tweak's 'file associations manager', Wine appears and is selectable in the list of .exe handlers, looks normal, you can select it and then it shows up in Nautilus "open with" set as the default. Everything works ok, but...
- If in Nautilus you change back the .exe "open with" option to file-roller (or anything else), then Wine instantaneously disappears from the applications list.
- The same happens with default base install applications like gnome-disk-image-mounter and Archive Mounter "open with" for .iso mime type (at first I even thought they were scrapped from Saucy).

I did a quick and dirty hack to restore Nautilus' "open with" functionality: NoDisplay=true must be replaced by NotShowIn=Unity in each .desktop file that must be hidden. Of course this only works for Unity, but I think it is possible to use OnlyShowIn=WriteHereAnyInexistentDesktopEnvironmentName to emulate the same effect of NoDisplay=true (I didn't test this).

Tags: saucy
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.