feat: neomutt open file through mailcap + xdg-open

This commit is contained in:
David JULIEN 2021-02-16 15:25:16 +01:00
parent 5243ab4b38
commit ac9ed58abe
4 changed files with 30 additions and 0 deletions

9
.config/mutt/mailcap Normal file
View File

@ -0,0 +1,9 @@
text/plain; $EDITOR %s ;
text/html; lynx -assume_charset=%{charset} -display_charset=utf-8 -dump %s; nametemplate=%s.html; copiousoutput;
text/html; mutt-openfile %s ; nametemplate=%s.html
image/*; mutt-openfile %s ;
video/*; setsid mpv --quiet %s &; copiousoutput
audio/*; mpv %s ;
application/pdf; mutt-openfile %s ;
application/pgp-encrypted; gpg -d '%s'; copiousoutput;
application/pgp-keys; gpg --import '%s'; copiousoutput;

View File

@ -5,6 +5,7 @@
# This file contains part of mutt-wizard's default settings. # This file contains part of mutt-wizard's default settings.
# mutt-wizard will have this file sourced from your muttrc. # mutt-wizard will have this file sourced from your muttrc.
set mailcap_path = /home/swytch/.config/mutt/mailcap:$mailcap_path
set mime_type_query_command = "file --mime-type -b %s" set mime_type_query_command = "file --mime-type -b %s"
set date_format="%y/%m/%d %I:%M%p" set date_format="%y/%m/%d %I:%M%p"
set index_format="%2C %Z %?X?A& ? %D %-15.15F %s (%-4.4c)" set index_format="%2C %Z %?X?A& ? %D %-15.15F %s (%-4.4c)"

View File

@ -39,6 +39,7 @@ libnotify
libtool libtool
linux linux
linux-firmware linux-firmware
lynx
m4 m4
make make
man-db man-db

19
.local/bin/mutt-openfile Executable file
View File

@ -0,0 +1,19 @@
#!/usr/bin/env sh
######################################################################
# @author : swytch (adapted from Luke Smith - lukesmith.xyz)
# @file : mutt-openfile
# @license : GPLv3
# @created : Tuesday Feb 16, 2021 11:50:16 CET
#
# @description : open a file with xdg-open from mutt
######################################################################
tempdir="${XDG_CACHE_HOME:-$HOME/.cache}/mutt/files"
file="$tempdir/$(basename "$1")"
opener="setsid -f xdg-open"
mkdir -p "$tempdir"
cp -f "$1" "$file"
$opener "$file" >/dev/null 2>&1
find "${tempdir:?}" -mtime +1 -type f -delete