mutt: define quais cabeçalhos são exibidos (em composição)

10

Ao escrever uma mensagem mutt, vejo os seguintes cabeçalhos:

    From: 
      To: 
      Cc:
     Bcc:
 Subject:
Reply-To:
     Fcc: ~/.mail/sent
     Mix: <no chain defined>
Security: None

Não sei para que Mix:serve o cabeçalho e acho que nunca vou precisar dele. Da mesma forma, não precisarei editar o Reply-To:cabeçalho.

Essas duas linhas inúteis estão ocupando um espaço valioso. É possível remover esses cabeçalhos completamente? Posso especificar quais cabeçalhos são exibidos no menu de composição?

Martin Vegter
fonte
2
De acordo com o manual de Mutt , Mixé para o envio de mensagens anônimas via mixmaster(whatever that means)
Robert Hayek
Então, é imperativo verificar através do código fonte que essas opções não estão disponíveis (e, portanto, dizer "não, não é possível - mas veja aqui, uma modificação") para as perguntas acima uma fonte confiável? :)
polym

Respostas:

3

Ok, eu tenho uma solução (muito hacky). Resposta: É possível remover esses cabeçalhos editando mutto código, mas até agora não é possível de nenhuma outra maneira.

Primeiro, não há sinalizador ou muttcódigo-fonte de check-in para impedir que esses cabeçalhos apareçam na janela do menu de composição. Pelo menos eu não vi nenhum.

Portanto, não é possível especificar quais cabeçalhos são exibidos no menu de composição sem a necessidade de editar mutto código.

Eu dei uma olhada no código fonte ( apt-get source mutt) e descobri, onde muttdesenha seus cabeçalhos, quando você redige um e-mail.

As partes importantes estão em compose.c:

[...]

[line 60]
//  HDR_REPLYTO,

[...]

[line 77]
static char *Prompts[] =
{
  "From: ",
  "To: ",
  "Cc: ",
  "Bcc: ",
  "Subject: ",
//  "Reply-To: ",
  "Fcc: "
};

[...]

[line 251]
static void draw_envelope (HEADER *msg, char *fcc)
{
  draw_envelope_addr (HDR_FROM, msg->env->from);
  draw_envelope_addr (HDR_TO, msg->env->to);
  draw_envelope_addr (HDR_CC, msg->env->cc);
  draw_envelope_addr (HDR_BCC, msg->env->bcc);
  mvprintw (HDR_SUBJECT, 0, TITLE_FMT, Prompts[HDR_SUBJECT - 1]);
  mutt_paddstr (W, NONULL (msg->env->subject));
//  draw_envelope_addr (HDR_REPLYTO, msg->env->reply_to);
  mvprintw (HDR_FCC, 0, TITLE_FMT, Prompts[HDR_FCC - 1]);
  mutt_paddstr (W, fcc);

  if (WithCrypto)
    redraw_crypt_lines (msg);

#undef MIXMASTER
#ifdef MIXMASTER
  redraw_mix_line (msg->chain);
#endif

[...]

[line 564]
//      case OP_COMPOSE_EDIT_REPLY_TO:
//  menu->redraw = edit_address_list (HDR_REPLYTO, &msg->env->reply_to);
//        mutt_message_hook (NULL, msg, M_SEND2HOOK);
//  break;

Faça essas alterações de acordo com o código acima:

  • comentar a linha 60, o HDR_REPLYTOenum -> desaparece o Reply-Tocabeçalho
  • comente a string "Reply-To:" na Promptsmatriz -> desaparece a Reply-Tostring do cabeçalho
  • comentar draw_envelope_addr (HDR_REPLYTO, msg->env->reply_to);-> desaparece o Reply-Tocabeçalho
  • comentar linhas 564- 567para evitar erros de compilação devido à falta de HDR_REPLYTO-> desaparece a Reply-Toopção de edição do cabeçalho
  • adicione #undef MIXMASTERantes da verificação de definição (ou talvez adicione esta linha anteriormente para evitar que as verificações sejam positivas) -> desaparece o Mixcabeçalho.

Então ./configuree makepara criar o seu personalizado mutt. Pode ser necessário corrigir alguns problemas de compilação e configuração.

Funcionou mutt-1.5.21.

Eu realmente não sei como o código do mutt funciona, vejo que eles usam o cursesWindows. Se alguém passar mais tempo entendendo esse código e por que ele funciona, poste um acompanhamento.

polym
fonte
obrigado, mas eu estava esperando por algum parâmetro de configuração. Recompilar o Mutt parece bastante alto para pagar.
Martin Vegter
sim, eu sei. Estudei o código e tentei encontrar alguma possibilidade para alguns parâmetros de configuração, mas eles não estão lá. A resposta para sua pergunta acima é, portanto, "Sim, é possível, mas com mais trabalho. Não, não é possível com parâmetros de configuração ou meios semelhantes fáceis de configurar". Desculpe desapontá-lo, parece que não há uma maneira fácil: /.
28614
3

Você define os cabeçalhos que deseja exibir muttrc, assim:

# headers to show
ignore *                                      # ignore all headers
unignore from: to: cc: date: subject:         # show only these
hdr_order from: to: cc: date: subject:        # and in this order
jasonwryan
fonte
obrigado, mas isso só tem efeito no pager (por exemplo, para mensagens recebidas), mas não no menu de composição.
Martin Vegter 07/12/13
Funciona para mim: o que mais há no seu .muttrc?
precisa saber é o seguinte
bem, coisas de sempre. cerca de 50 linhas. Mas nada do que eu pudesse ver iria interferir com #ignore
Martin Vegter 07/12/13
Você já definiu edit_headers?
precisa saber é o seguinte
não, eu não tenho edit_headersdefinido
Martin Vegter 07/12/13
2

Se estiver usando o vim:

set editor = "vim -c '/Mix: /d|/Reply-To: /d'"
Beau Barker
fonte
Hacky, mas faz o truque. Linux em poucas palavras.
ThreeFx