La vida con mutt
|
|
Por RinzeWind
departamento mutt-vs-rest-of-muas , Sección Software Libre Puesto a las Fri Jan 16th, 2004 at 01:40:06 PM CET
|
|
All mail clients suck. This one just sucks less." Ese podríamos decir que es el slogan de mutt, un cliente de correo para Linux en modo texto, y para los que llevamos un tiempo usándolo, seguramente sea el cliente de correo.
Podría poner aquí todas las características que tiene, pero me sale más a cuenta poner un enlace a la sección features y centrarme en las que de verdad me interesan:
- color support
- highly customizable
Tras cierto tiempo pegándome con mutt, he conseguido hacer unas cuantas cosas que más de uno encontrará útiles:- Asignar colores a mensajes dependiendo del remitente/puntuación/estado
- Lectura automática de mensajes
- Borrado automático de mensajes
- Colapso automático de los hilos al entrar en una carpeta de correo
Como dijo Jack el Destripador, vayamos por partes (lo enlazo porque es uno de los libros que me he pedido para reyes :D).
|
Colorines
Realmente me costó que al final esto quedara como a mí me gusta. El orden en que se introducen las instrucciones para el color se tiene en cuenta a la hora de calcular cómo tiene que ir el mensaje. Esta es mi configuración de casa y la podéis cambiar como os dé la gana. Las expresiones regulares contienen expresiones del tipo ~P, ~A... que podréis encontrar sin mucho agobio en el manual.
Lo primero es hacer que todos los mensajes del índice queden sin ningún color. Eso se consigue con:
color index default default .
Ahora ya podemos ir asignando los colores según nos dé la gana. Yo personalmente lo tengo así:
#Respuestas a mis mensajes
color index brightyellow default '!~P (~x chema.homelinux.org | ~h "in-reply-to: .*chema.homelinux.org")'
#Respuestas que también van a mi en listas de correo (algunos MUAs rotos)
folder-hook . 'uncolor index '~p''
folder-hook =lista.* "uncolor index '~p'; color index brightyellow default '~p'"
#Mis mensajes
uncolor index '~P'
color index black green '~P'
#Según la puntuación
#Pérdidas de tiempo
#~n -1 significa <=1
uncolor index '~n -1'
color index brightblack default '~n -1'
#Mensajes que merecen más la pena
uncolor index '~n >99'
color index brightwhite default '~n >99'
#Mensajes importantes
uncolor index '~n >499'
color index brightred default '~n >499'
#Mensajes importantes
uncolor index '~F'
color index brightwhite red '~F'
#Mensajes marcados para borrar
uncolor index '~D'
color index brightred white '~D'
#Mensajes marcados ("tagged")
uncolor index '~T'
color index brightblue default '~T'
Os puede parecer un cacao (y lo es, para qué engañarnos), pero probadlo. La prioridad que tiene este sistema va de abajo hacia arriba. Es decir, un mensaje marcado (~T) tiene la menor prioridad. Si lo marcamos como importante (~F), se pondrá con ese color.
Realmente tener colores por respuestas ayuda bastante a la hora de leer las listas de correo, así podemos distinguir nuestros mensajes del resto, respuestas a nuestros mensajes, etc...
Puntuaciones y lectura/borrado automático de mensajes
Otra de las cosas que mutt hará por nosotros sin mucho esfuerzo es librarnos de mensajes de pesaos, gracias a su sistema de puntuaciones. No es un sistema tan bueno como el del slrn ya que requiere más esfuerzo por nuestra parte a la hora de añadir/quitar a alguien del archivo de scores, pero aún así funciona bastante bien y no cuesta demasiado echarlo a andar.
Lo primero que haremos será:
set score_threshold_read = 1
set score_threshold_delete= 0
De esta forma, lo mensajes que tengan una puntuación de 1 o menor quedarán marcados como leídos, y los que tengan puntuación 0 serán borrados automáticamente. En mutt no hay puntuaciones negativas: si aplicamos una serie de reglas a un mensaje con resultado <0, el resultado se redondea a 0 automáticamente. Conviene tener esto en cuenta para no cometer equivocaciones.
Si no especificamos nada, todos los mensajes parten con una puntuación de 0. Para que los mensajes que nos vayan llegando empiecen un poco más arriba, pondremos en nuestro ~/.muttrc:
folder-hook . "unscore *"
folder-hook . "score ~A 10"
El folder-hook es un mecanismo que tiene mutt de aplicar cualquier regla sólo para algunas carpetas de correo específicas. En este caso lo vamos a aplicar al caso de las puntuaciones, pero sirve para cualquier cosa. Lo que acabamos de hacer es: nada más entrar en una carpeta nos olvidamos de la puntuación que tuviese cada mensaje (primera regla) y asignamos a todos los mensajes una puntuación de 10 (segunda regla). He comprobado empíricamente que sólo la segunda regla no es suficiente, aunque quizá estuviese bajo los efectos de alguna sustancia extraña (agua del grifo de Madrid, principalmente) y resulte que no es así. Os lo dejo a vuestra elección :D
Voy a poner un ejemplo: en la lista Full Disclosure se envían mensajes de seguridad relacionados con Debian. Como esos mensajes me interesan especialmente, les asigno una puntuación mayor de 99 (100, por ejemplo. Mirar en el ejemplo de los colores para saber qué ocurrirá). Así que simplemente hago:
folder-hook =lista-full-disclosure "score '~f debian-security-announce@lists.debian.org' =100" y a tirar millas. La etiqueta ~f significa "el remitente es". La puntuación tiene un signo = delante, lo que significa que en el momento en que mutt la encuentre, asignará 100 puntos a ese mensaje y dejará de mirar. Si simplemente pusiese 100, le sumaría 100 puntos y seguiría mirando si alguna puntuación más coincide, así hasta terminar o encontrar algún = que coincida (básicamente el mecanismo del scorefile del slrn).
Igualmente ocurrirá para aquellos mensajes que no queremos leer porque son un desperdicio (=1) o que queramos borrar directamente (=0). En el índice muchas veces también es útil ver cuánta puntuación tiene un mensaje. Para ello, hay una variable (index_format) que define cómo se verán los mensajes. Pongo mi ejemplo:
set index_format="%3N %Z %{%m/%d} %-25.25F %?M?(#%03M)&(%4l)? %s"
Nuevamente los caracteres especiales se pueden buscar en el manual para ver qué significan. Sólo desvelaré que %3N imprime la puntuación de los mensajes (hasta 3 cifras). Otra cosa: para que el selector no tape los colores es interesante también añadir un:
set arrow_cursor De esa forma el selector es simplemente una flecha a la izquierda y no es tan intrusivo como el normal. Nuevamente, estilo slrn.
Colapso automático de los hilos
Muchas veces se pierde tiempo mirando mensajes de hilos que no nos interesan buscando algo que nos pueda agradar leer. Teniendo de entrada todos los hilos colapsados ahorramos bastante tiempo, y si además le cambiamos la función a ciertas teclas para marcar hilos enteros como leídos rápidamente, mucho mejor. Mi propuesta:
set sort=threads #Ordenamos por hilos
folder-hook . push "<collapse-all>" #Colapsamos automáticamente los hilos al entrar en la carpeta
bind index V collapse-thread #Colapsamos hilos con la V
bind index r read-thread #Marcamos hilos como leídos con la r
Ojo, que nadie se asuste por ver a la 'r' con una función distinta a la de responder. El bind está hecho sólo para el índice, para cuando recorremos la lista de mensajes. Cuando leemos un mensaje (pager), la r tiene su función normal de toda la vida.
Enlaces
La lista obligatoria de enlaces para todo aquél que quiera tener un poco más de información:
|
|
|