mutt: définir les en-têtes à afficher (en composition)

10

Lorsque muttje compose un message , je vois les en-têtes suivants:

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

Je ne sais pas à quoi Mix:sert l'en- tête et je ne pense pas en avoir besoin. De même, je n'aurai pas besoin de modifier l'en- Reply-To:tête.

Ces deux lignes inutiles occupent un espace précieux. Est-il possible de supprimer entièrement ces en-têtes? Puis-je spécifier les en-têtes affichés dans le menu de composition?

Martin Vegter
la source
2
Selon le manuel Mutt , Mixest pour l'envoi de messages anonymes via mixmaster(quoi que cela signifie)
Robert Hayek
Sooo, la vérification en regardant dans le code source que ces options ne sont pas disponibles (et donc en disant "non, pas possible - mais regardez ici, une modification") aux questions ci-dessus est-elle une source crédible? :)
polym

Réponses:

3

Ok, j'ai une solution (très hacky). Réponse: Il est possible de supprimer ces en-têtes en éditant muttle code, mais pas possible de toute autre manière jusqu'à présent.

Tout d'abord, il n'y a pas d'indicateur ou de muttcode source de check-in pour empêcher ces en-têtes d'apparaître dans la fenêtre du menu de composition. Au moins, je n'en ai pas vu.

Il n'est donc pas possible de spécifier quels en-têtes sont affichés dans le menu de composition sans avoir à modifier muttle code de.

J'ai jeté un coup d'œil au code source ( apt-get source mutt) et j'ai découvert, où muttdessine ses en-têtes, lorsque vous composez un mail.

Les parties importantes résident dans 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;

Apportez ces modifications conformément au code ci-dessus:

  • commenter la ligne 60, l' HDR_REPLYTOénumération -> disparaît l'en- Reply-Totête
  • commenter la chaîne "Reply-To:" dans le Promptstableau -> disparaît la Reply-Tochaîne d'en-tête
  • commenter draw_envelope_addr (HDR_REPLYTO, msg->env->reply_to);-> disparaît l'en- Reply-Totête
  • commenter les lignes 564- 567pour éviter les erreurs de compilation en raison de l'absence de HDR_REPLYTO-> disparaît l' Reply-Tooption d'édition de l'en- tête
  • ajouter #undef MIXMASTERavant la vérification def (ou peut-être ajouter cette ligne plus tôt pour éviter que les vérifications soient positives) -> disparaît l'en- Mixtête.

Ensuite ./configureet makepour créer votre personnalisé mutt. Vous devrez peut-être résoudre certains problèmes de compilation et de configuration.

Cela a fonctionné mutt-1.5.21.

Je ne sais pas vraiment comment fonctionne le code de mutt, je vois qu'ils utilisent des cursesfenêtres. Si quelqu'un passe plus de temps à comprendre ce code et pourquoi il fonctionne, veuillez poster un suivi.

polym
la source
merci, mais j'espérais un paramètre de configuration. Recompiler Mutt semble assez élevé à payer.
Martin Vegter
Ouais je sais. J'ai étudié le code et essayé de trouver une possibilité pour certains paramètres de configuration, mais ils ne sont pas là. La réponse à votre question ci-dessus est donc "Oui, c'est possible, mais avec plus de travail. Non, ce n'est pas possible avec des paramètres de configuration ou des moyens similaires facilement configurables." Désolé de vous décevoir, il semble qu'il n'y ait pas de moyen simple: /.
polym
3

Vous définissez les en-têtes dans lesquels vous souhaitez afficher muttrc, comme suit:

# 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
la source
merci, mais cela n'a d'effet que dans le pager (c'est-à-dire pour les messages reçus), mais pas dans le menu de composition.
Martin Vegter
Fonctionne pour moi: quoi d'autre est dans votre .muttrc?
jasonwryan
enfin, des trucs habituels. environ 50 lignes. Mais rien de ce que j'ai pu voir n'interféreraitignore
Martin Vegter
Avez-vous mis edit_headers?
jasonwryan
non, je n'ai pas edit_headersréglé
Martin Vegter
2

Si vous utilisez vim:

set editor = "vim -c '/Mix: /d|/Reply-To: /d'"
Beau Barker
la source
Hacky, mais fait l'affaire. Linux en bref.
ThreeFx