xdg-utils does not implement the standard for default applications
David Faure
faure at kde.org
Sat Oct 29 16:25:32 UTC 2016
On lundi 3 octobre 2016 16:09:50 CEST Maxwell Anselm wrote:
> 1. xdg-mime and xdg-open should not rely on Perl's File::MimeInfo at all
> (this behavior could be enabled with an optional flag if you don't want to
> just drop it).
> 2. In the absence of a detected DE, xdg-mime should be fully capable of
> following the shared MIME-info spec to detect a file's MIME type:
> https://specifications.freedesktop.org/shared-mime-info-spec/latest/ar01s02.
> html 3. In the absence of a detected DE, xdg-mime should be fully capable of
> creating associations and storing them in the standard, non-deprecated
> locations:
> https://specifications.freedesktop.org/mime-apps-spec/latest/ar01s02.html
> 4. In the absence of a detected DE, xdg-open should simply use xdg-mime to
> query the MIME type and then use the same standard locations (plus
> deprecated, for compatibility) to look up the default application for that
> type
As a co-maintainer of the shared-mime-info spec and other specs (but not of
any of the xdg-* tools), I fully agree with your reasoning.
`xdg-mime query` could implement shared-mime-info rather than trying to find an
existing implementation. Your point 1 would be even extended further: xdg-mime
would not rely on my kmimetypefinder or on gnomevfs-info/gvfs-info either,
since it would simply call a tool that implements the spec.
Code exists to do this: see print-mime-data in the git repo "git/xdg/xdgmime".
(of course you need to tweak its input arguments and output format so that it
can be used by `xdg-mime query`).
However that repo is separate from xdg-utils, so you could end up with the
issue that xdg-utils is installed but not xdgmime. I think the best approach
would be to merge these two git repos.
(CC'ing the most recent committers to xdg-utils in case they have input)
--
David Faure, faure at kde.org, http://www.davidfaure.fr
Working on KDE Frameworks 5
More information about the xdg
mailing list