Sé que puedo configurar un comando de impresión en Mutt a través de .muttrc, por ejemplo:
set print=ask-yes
set print_command="..."
Pero, ¿qué comando de impresión debo usar para una impresión bonita ?
Bueno, la a2pssalida parece un poco espartana, incluso con el -=mailatajo. No es compatible con UTF8 . Existe el papsque se describe como ' Convertidor UTF-8 a PostScript usando Pango ' y actualmente no incluye soporte para márgenes, o diseño de correo electrónico o algo así.
mp: bonito encabezado predeterminado. Nuevamente no hay soporte para UTF8. Los márgenes predeterminados son ridículamente pequeños: si especifica márgenes más amplios, el texto del cuerpo se imprime detrás del pie de página.
enscript: -Gpara encabezados de página elegantes es realmente elegante. No hay soporte UTF8 .
¿Qué utilizas en el siglo XXI para imprimir tus correos de Mutt?
(Debe admitir UTF8, salida DIN A4 como PS y / o PDF)

print_command. Por lo tanto, no es suficiente probar print_commands a través del|comando (pipe) en mutt.Respuestas:
También hay Muttprint . Se hace de soporte UTF-8 y su salida se ve decente por defecto. Muttprint usa LaTeX y proporciona ganchos para la personalización.
Como estoy imprimiendo correos de diferentes entornos, no puedo usar una impresora predeterminada. Por lo tanto, lo configuré (a través de
~/.muttrc) para usar un visor de PDF donde puedo seleccionar dinámicamente una impresora:Mktemp utiliza
/tmp, por defecto. Para usar un directorio de caché personalizado:Por cierto, puede configurar
print_decodedentro de muttrc para configurar si print_command puede decodificar MIME, codificaciones, etc. por sí solo. De forma predeterminada, se estableceyescuál es la configuración correcta para comandos comomuttprint,enscriptetc.Con respecto a los problemas de UTF-8 de a2ps, enscript y mp uno pueden concluir que deberían considerarse obsoletos. De hecho, al mirar las páginas del proyecto, parece que no se mantienen (por ejemplo, la última noticia de la página mp es de 2002 y menciona una lista de correo ubicada en Sun).
fuente
/tmp/$USER.pses altamente predecible por otros usuarios. Utilicemktempcrear archivos temporales! (Ver mi respuesta )./tmp/$USER.pses una tontería. He actualizado mi respuesta./tmp/*se elimina al reiniciar.mktempla razón de ser es evitar las colisiones de nombres de archivos. Sin embargo, puede fallar por otras razones. Cambié el comando de modo que muttprint solo se ejecute si mktemp fue exitoso (sospecho que muttprint usaría de manera predeterminada algún otro nombre de archivo cuandofesté vacío). Por lo tanto, ahora solo termina con un archivo temporal sobrante si evince o rm fallan. Considero que esto es poco probable, y si lo hacen, considero que el archivo problemático conserve una ayuda para depurar el problema. Claro,/tmpse limpia automáticamente. Pero$HOMEes ventajoso para documentos confidenciales cuando está encriptado pero/tmpno lo está.mktemp -p $HOME/.cache/mutt-XXXXXXXXXXen este caso, peromktempes la herramienta correcta.También puede considerar el uso de paps , que lee un archivo codificado UTF-8 y genera una representación del archivo en lenguaje PostScript. El renderizado se realiza creando curvas de contorno a través del backend pango ft2.
fuente
Más seguro y con menos papel, cree un
wrapper:Hay mi comando de impresión para
.muttrc:Y existe el contenido de
"$HOME/bin/print_preview-wrapper.sh"Esta voluntad
gvporque me gusta, pero podrías ejecutar cualquier otra herramienta.fuente
read tmpdir < <(mktemp -d /tmp/print_preview-$USER-XXXXXXXX)una ventaja sobretmpdir=$(mktemp -d /tmp/print_preview-$USER-XXXXXXXX)?read host foo foo ip < <(host google.com); echo $ip $hostAquí hay una receta simple que uso en diferentes UNIX:
donde
••My_printer••está el nombre de la impresora.fuente