Hello,
(Moving the discussions to guix-devel.)
address@hidden skribis:
I was wondering why my pdf documents were getting opened in Gimp by
default instead of Evince, so I investigated xdg-open and found it
uses mimeopen as a fallback, and packaged it. Turns out it didn't make
a difference and the issue was simply that the generated
mimedata.cache in xdg-mime-database had Gimp listed before Evince.
Oh, good catch. Profile generation is sensitive to package order; so
indeed, if GIMP comes first, it “wins.”
I was also I little confused that xdg-mime-database produces so many
conflicts with shared-mime-info. It's role appears to be to update the
data in shared-mime-data and have it overshadow the original data when
conflicts are resolved during profile generation. Looks ugly seeing
all those conflicts though.
I guess it’s OK in that users normally don’t want to install these
packages at all, let alone installing both in the same profile.
I had a look at Fedora's version. They just have a single
shared-mime-data package that runs update-mime-database, but also they
add a few changes to make Evince open pdf's instead of Gimp, among
other changes.
This makes me feel that it's desirable for us to also tweak mimedata
to make it more sensible -- Pdf's should open in a pdf reader before
it opens in an image editor. It seems unrealistic to only tweak
upstream projects to make all this mimedata mesh together perfectly to
produce ideal default behaviour.
Right, so I think the immediate course of action here would be to patch
GIMP’s MIME data so that it does not register as a PDF viewer.
If we stumble upon other issues like that, we can fix them similarly.