Bug#1000588: evince, mailcap: "evince --new-window $file" opens the file chooser dialog instead of the requested file
Simon McVittie
smcv at debian.org
Thu Nov 25 15:15:27 GMT 2021
Control: reassign -1 mailcap 3.70
On Thu, 25 Nov 2021 at 15:13:01 +0100, Julien Cristau wrote:
> since upgrading from bullseye to bookworm, opening a pdf from mutt
> doesn't work. The /etc/mailcap entry says:
>
> > application/pdf; evince --new-window %s; test=test -n "$DISPLAY"
>
> and indeed "evince --new-window foo.pdf" doesn't actually open foo.pdf.
>
> Maybe this is intended though, and the problem is how update-mime parses
> evince's desktop file? Looks like it's using the Exec line from
> [Desktop Action new-window] (which didn't exist in bullseye) instead of
> from the main [Desktop Entry] section.
Yes, update-mime should only be parsing the fields from the
[Desktop Entry] group, something like this (untested):
my $in_desktop_group = 0;
while (<FILE>) {
chomp;
next if m/^\s*$|^\s*\#/);
if (m/^\[Desktop Entry\]$/) {
$in_desktop_group = 1;
next;
}
if (m/^\[.*\]$/) {
$in_desktop_group = 0;
next;
}
next unless $in_desktop_group;
if (m/^Terminal=(\w+)/i) {
... the rest of the current implementation ...
}
The [Desktop Action x] groups are not relevant when using an application
as a handler for opening files listed in MimeType.
See the specification[1] for full syntax.
smcv
[1] https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html
More information about the pkg-gnome-maintainers
mailing list