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

10

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

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

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

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

    
por Martin Vegter 07.12.2013 / 17:42

3 respostas

3

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

Primeiro de tudo, não há sinalização ou qualquer verificação no código-fonte de mutt para evitar 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 ter que editar o código de mutt .

Eu dei uma olhada no código fonte ( apt-get source mutt ) e descobri, onde mutt desenha seus cabeçalhos, quando você escreve 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:

  • comente a linha 60, o HDR_REPLYTO enum - > desaparece o Reply-To header
  • comente a string "Responder para:" na coluna Prompts - > desaparece a string de cabeçalho Reply-To
  • comente draw_envelope_addr (HDR_REPLYTO, msg->env->reply_to); - > desaparece o Reply-To header
  • comente as linhas 564 - 567 para evitar erros de compilação devido à falta de HDR_REPLYTO - > desaparece a opção de edição do cabeçalho Reply-To
  • adicione #undef MIXMASTER antes da verificação de def (ou talvez adicione essa linha antes para evitar que as verificações sejam positivas) - > desaparece o cabeçalho Mix .

Em seguida, use ./configure e make para criar seu mutt personalizado. Você pode ter que corrigir alguns problemas de compilação e configuração.

Funcionou em mutt-1.5.21 .

Eu realmente não sei como funciona o código do mutt, vejo que eles usam curses windows. Se alguém passar mais tempo entendendo este código e por que ele funciona, por favor poste um follow-up.

    
por 24.06.2014 / 21:28
3

Você define os cabeçalhos que deseja exibir em 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
    
por 07.12.2013 / 19:20
2

Se estiver usando o vim:

set editor = "vim -c '/Mix: /d|/Reply-To: /d'"
    
por 05.10.2015 / 15:33

Tags