Estoy usando OS X y quiero saber si hay algún mensaje no leído en mi Mail.app? Quiero poner ese número en mi indicador de shell.
¿Cómo lo hago?
Primero, configure su solicitud para realizar sustituciones como se explica aquí: ¿ Obtener función en PS1 (Zsh)?
Simplemente agregue lo siguiente en su .zshrc
archivo.
setopt PROMPT_SUBST
Luego, busque un AppleScript que cuente su correo no leído, por ejemplo, este de Geeklets de Matt Swain . Descargue el .scpt
archivo y colóquelo en algún lugar, por ejemplo ~/Scripts/mail_count.scpt
.
Tenga en cuenta que Mail.app debe estar ejecutándose para que todo esto funcione. En su .zshrc
, cree una función que llame al AppleScript:
function mail_count {
osascript ~/Scripts/mail_count.scpt
}
Finalmente, redefina su solicitud en función de la nueva función. El siguiente sería el enfoque más básico, pero siéntase libre de agregar sus propias variables según sea necesario:
PROMPT='$(mail_count) '
Si no desea meterse con su solicitud o usar uno de los estilos oh-my-zsh, o incluso el promptinit
módulo, también puede usar la precmd()
función, en la que define cualquier cosa que deba ejecutarse antes de ejecutar otro comando . En ese caso, no necesitarías la PROMPT_SUBST
opción.
precmd() {
mail_count
}
Cualquiera que sea el método que utilice, su recuento de correo no leído se generará en texto sin formato. Si desea cambiar los mensajes, eche un vistazo a la fuente del .scpt
archivo y modifíquelo en consecuencia.
unread count of every mailbox
como se explica aquí .Encontré esto más eficiente.
fuente