zsh notificação de email (em maildir)

3

Como posso modificar o seguinte para que ele leia maildir e não apenas o formato da caixa de correio?

typeset -a mailpath
for i in ~/Mail/Lists/*(.); do
   mailpath[$#mailpath+1]="${i}?You have new mail in ${i:t}."
done

Atualmente, recebo:

/home/XXX/.zshrc:77: no matches found: /home/XXX/.Mail/Lists/*(.)
    
por Sardathrion 10.08.2012 / 12:00

1 resposta

4

Você precisa enumerar os diretórios chamados new em ~/Mail/Lists/ . É apenas uma questão de alguns qualificadores de glob : / para corresponder aos diretórios e talvez N para que a expansão fique vazia se não houver correspondência. Use ${i:h:t} para mostrar o nome da caixa de correio em vez de new .

for i in ~/Mail/Lists/**/new(/N); do
  mailpath+=("${i}?You have new mail in ${i:h:t}.")
done

Você pode usar o qualificador e glob para torná-lo uma única linha, ainda que oculta.

maildirs+=(~/Mail/Lists/**/new(/Ne\''REPLY="${REPLY}?You have new mail in ${REPLY:h:t}."'\'))
    
por 11.08.2012 / 02:08

Tags