Re: mutt does not find mailcap entry
On Sat 04 Apr 2020 at 14:43:24 (+0200), Beatrice Torracca wrote:
>
> I have been trying to make mutt open pdf files from the
> view-attachment dialog.
>
> I was trying to make it open evince to view pdf files. It does not
> seem to recognize the mime type. I tried the same steps I followed
> with my Debian testing laptop (there the problem was a bit different
> since it opened pdf files but with calibre).
>
> Anyway I edited /etc/mailcap.order adding the line (it is the only line):
>
> org.gnome.Evince:application/pdf
>
> I ran (as root) the command "update-mime" that gave no error
> messages. Now in my /etc/mailcap file the first entry is
>
> application/pdf; evince %s; test=test -n "$DISPLAY"
>
> In my /etc/mime.types I have a line entry for pdf like this
>
> application/pdf pdf
>
> If I run the command "mutt -nF /dev/null -Q mailcap_path" to see the
> path it uses to find mailcap entries I get this output
>
> mailcap_path="~/.mailcap:/usr/share/mutt/mailcap:/etc/mailcap:/etc/mailcap:/usr/etc/mailcap:/usr/local/etc/mailcap"
>
> I don't have a .mailcap file in my home directory. There is no other
> mailcap file among those listed aside from /etc/mailcap.
>
> Still when I have a mail with a pdf attachment and I see at the bottom
> of the message in the attachment part
>
> [-- application/pdf is unsupported (use 'v' to view this part) --]
>
> I press v. I see the application/pdf attachment.
> Then if I hit Enter I get this message
>
> "No matching mailcap entry found. Viewing as text."
>
> If I press "m" I get this error message
> "mailcap entry for type application/pdf not found".
>
> I don't understand why since I do have an application/pdf entry.
>
> Anyone has any clues and can help me?
FWIW this is how I approach viewing attachments.
In ~/.mutt/muttrc I have:
$ grep mailcap .mutt/muttrc
auto_view text/html # immediate display (without v command), assumes mailcap support
set mailcap_path=$HOME/.mutt/mailcap-mutt # needed for auto_view
$
and ~/.mutt/mailcap-mutt is attached.
However, I can't help you actually view the document with evince
because, although evince opens, it gives a "Permission denied" error.
Although mutt writes the attachment as a temporary file with
-r-------- permissions, and I can open that file with xpdf even as
evince is still displaying the error message, evince can't.
If I try to open it with evince from another xterm, I "warp to" the
single evince window already displaying it.
I also tested zathura from another xterm, as you can see from the
attachment here, and that worked fine.
So AFAICT evince (which I don't normally use) works differently.
Notes: I run X with startx, and fvwm, so no DE here.
I use an individual mailcap for mutt so that I don't
get big applications starting by surprise.
As you can see, I've tested different ways of handling
HTML at various times.
Cheers,
David.
## $HOME/.mutt/mailcap-mutt last edited 2020-04-04
## This is a pruned mailcap that handles just the subset of attachments
## that mutt processes. These can be ascertained by typing
## :attachments ?
## at the command prompt.
## The first occurrence takes priority
# the next line is used immediately the email is opened, so you don't see the text alternative
#text/html; /usr/bin/html2text; copiousoutput
# the next line is used immediately the email is opened, so you don't see the text alternative
#text/html; /usr/bin/w3m -dump -T text/html; copiousoutput
# the next line is used only when an html attachment is selected in the attachments menu
text/html; /usr/bin/lynx -force-html -localhost -stdin
# the next line is used only when an html attachment is selected in the attachments menu
#text/html; cat | /usr/bin/elinks -dump -dump-color-mode 4 -force-html -localhost 1 | less -r
# the next line is used immediately the email is opened, so you don't see the text alternative
#text/html; /usr/bin/elinks -dump -force-html -localhost 1; copiousoutput
# the next line was added temporarily
application/pdf; /usr/bin/evince --fullscreen %s; test=test -n "$DISPLAY"; description=Portable Document Format; nametemplate=%s.pdf
# the next line was added temporarily
application/pdf; /usr/bin/zathura %s; test=test -n "$DISPLAY"; description=Portable Document Format; nametemplate=%s.pdf
application/pdf; /usr/bin/xpdf -fullscreen %s; test=test -n "$DISPLAY"; description=Portable Document Format; nametemplate=%s.pdf
image/jpeg; /usr/bin/xli -quiet stdin; test=test -n "$DISPLAY"; description=JPEG Image
image/png; /usr/bin/xli -quiet stdin; test=test -n "$DISPLAY"; description=PNG Image
image/gif; /usr/bin/xli -quiet stdin; test=test -n "$DISPLAY"; description=GIF Image
image/tiff; /usr/bin/display -quiet; test=test -n "$DISPLAY"; description=TIFF image
application/ms-tnef; /usr/bin/tnef -t; copiousoutput
application/msword; antiword %s; copiousoutput
#
Reply to: