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 a2ps
salida parece un poco espartana, incluso con el -=mail
atajo. No es compatible con UTF8 . Existe el paps
que 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
: -G
para 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_decode
dentro de muttrc para configurar si print_command puede decodificar MIME, codificaciones, etc. por sí solo. De forma predeterminada, se estableceyes
cuál es la configuración correcta para comandos comomuttprint
,enscript
etc.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.ps
es altamente predecible por otros usuarios. Utilicemktemp
crear archivos temporales! (Ver mi respuesta )./tmp/$USER.ps
es una tontería. He actualizado mi respuesta./tmp/*
se elimina al reiniciar.mktemp
la 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 cuandof
esté 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,/tmp
se limpia automáticamente. Pero$HOME
es ventajoso para documentos confidenciales cuando está encriptado pero/tmp
no lo está.mktemp -p $HOME/.cache/mutt-XXXXXXXXXX
en este caso, peromktemp
es 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
gv
porque 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 $host
Aquí hay una receta simple que uso en diferentes UNIX:
donde
••My_printer••
está el nombre de la impresora.fuente