mutt: marque como lido e apague

5

Eu descarto algumas mensagens sem lê-las. Depois de excluir essas mensagens, no entanto, sou alertado sobre a presença de mensagens não lidas na minha lixeira.

Existe uma maneira de:

  • desativa o alerta ( set beep_new ) quando uma nova mensagem é encontrada na lixeira; ou
  • marcar simultaneamente uma mensagem como lida e excluí-la?

Eu imagino que o primeiro poderia ser implementado com um gancho de pasta de lixo e o último poderia ser implementado usando uma macro. No entanto, no caso deste último, após marcar uma mensagem ( Wn ) ou thread inteiro ( ^R ) como lida, a entrada selecionada pode ou não ser alterada, dependendo da posição da mensagem na pasta. / p>

Deve-se então usar um condicional para determinar como restaurar a seleção usando os comandos de navegação de entrada. Depois de restaurar a seleção, a mensagem pode ser excluída. De acordo com a documentação oficial, os arquivos de configuração não suportam condicionais, portanto, uma solução baseada em macro pode envolver a passagem de um script de shell.

Talvez haja uma solução mais simples para esse problema que negligenciei?

    
por user001 31.07.2012 / 07:26

3 respostas

3

Para marcar simultaneamente uma mensagem como lida e excluí-la, você pode usar o set resolve=no antes do comando para evitar passar para a próxima mensagem. Isso evita ter que verificar a condição e tal. Seu cursor permanecerá no lugar após a conclusão da ação.

Por exemplo, eu uso o seguinte para marcar como lido antes de mover uma mensagem para um arquivo maildir:

macro index,pager a ":set confirmappend=no delete=yes resolve=no\n<clear-flag>N<tag-prefix><save-message>=archive\n:set confirmappend=yes delete=ask-yes resolve=yes\n<next-undeleted>"

Isto irá:

  • Defina um valor antes da ação, incluindo resolve=no para evitar passar para a próxima mensagem
  • Limpar o sinalizador não lido: <clear-flag>N
  • Salve a mensagem no meu arquivo: <tag-prefix><save-message>=archive
  • Defina o valor de volta para o que deveria ser, incluindo resolve
  • Ir para a próxima mensagem não eliminada: <next-undeleted>

Então, para marcar como ler e excluir, algo assim deve funcionar:

macro index,pager d ":set confirmappend=no delete=yes resolve=no\n<clear-flag>N<tag-prefix><delete-message>:set confirmappend=yes delete=ask-yes resolve=yes\n<next-undeleted>"
    
por 22.04.2016 / 12:04
1

A maneira óbvia é simplesmente não incluir "lixeira" na lista de caixas de correio que o mutt verifica se há novas mensagens.

i.e. não adicione a pasta da lixeira às caixas de correio.

por exemplo. se você gerar a lista de caixas de correio com algo como:

mailboxes \
  /var/spool/mail/username \
  'find ~/Mail -type f | xargs'

adicione grep -v trashcan | antes dos xargs, assim:

'find ~/Mail -type f | grep -v trashcan | xargs'
    
por 31.07.2012 / 09:49
1

Se você estiver ativando a opção imap_check_subscribed , todas as pastas inscritas no IMAP serão automaticamente adicionadas à lista de caixas de correio.

O comando unmailboxes pode ser usado para remover uma caixa de correio da lista de mailboxes . Então você pode adicionar o seguinte no arquivo .muttrc :

push ":unmailboxes +[Gmail]/Trash<enter>"

Não podemos usar diretamente o comando unmailboxes porque imap_check_subscribed recuperará e adicionará a lista de caixas de correio depois de ler o arquivo de configuração ( .muttrc ), portanto, precisamos push it.

    
por 30.11.2012 / 17:56