mutt:定义要显示的标题(包含)


10

在中编写消息时mutt,我看到以下标题:

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

我不知道Mix:标题是做什么用的,而且我认为我永远也不需要它。同样,我将不需要编辑Reply-To:标题。

这两条无用的行占用了宝贵的空间。是否可以完全删除这些标头?我可以指定在撰写菜单中显示哪些标题吗?


2
根据Mutt手册Mix用于通过mixmaster(无论意味着什么)发送匿名消息
Robert Hayek 2014年

Sooo,是否通过查看源代码来证明上述选项不可用(因此说“不,不可能-但是请在这里,进行修改”)来证明上述问题是否可信?:)
polym

Answers:


3

好的,我有一个(非常hacky)的解决方案。答:可以通过编辑mutt的代码删除这些标头,但到目前为止,还没有其他方法。

首先,没有标志或任何签入mutt的源代码,以防止这些标题出现在撰写菜单窗口中。至少我没看到。

因此,在不编辑mutt代码的情况下,不可能指定哪些标题显示在撰写菜单中。

我查看了源代码(apt-get source mutt),发现mutt撰写邮件时在哪里绘制了标题。

重要的部分在于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;

根据上面的代码进行以下更改:

  • 注释掉第60行,HDR_REPLYTO枚举->消失Reply-To标题
  • 注释掉Prompts数组中的“ Reply-To:”字符串->消失Reply-To标题字符串
  • 注释掉draw_envelope_addr (HDR_REPLYTO, msg->env->reply_to);->消失Reply-To标题
  • 注释掉行564- 567避免由于缺少而导致的编译错误HDR_REPLYTO->消除Reply-To标题编辑选项
  • #undef MIXMASTER在def检查之前添加(或可能更早添加此行以避免任何检查为肯定)->使Mix标头消失。

然后./configuremake创建您的个性化mutt。您可能必须修复一些编译和配置问题。

它工作了mutt-1.5.21

我真的不知道mutt的代码是如何工作的,我看到它们使用的是cursesWindows。如果有人花更多时间了解此代码以及它为何起作用,请发布后续消息。


谢谢,但是我希望有一些配置参数。重编译Mutt似乎付出了很高的代价。
Martin Vegter 2014年

是的,我知道。我研究了代码,并试图找到一些配置参数的可能性,但它们不存在。因此,上述问题的答案是“是的,这是可能的,但是需要做更多的工作。否,使用配置参数或类似的简单可配置方式是不可能的。” 抱歉让您失望,似乎没有简单的方法:/。
polym

3

您可以设置要显示的标题muttrc,如下所示:

# 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

谢谢,但这仅对寻呼机有效(即对于收到的消息),而对撰写菜单无效。
Martin Vegter 2013年

为我工作:您还有什么.muttrc
jasonwryan 2013年

好,通常的东西。大约50行。但是我所看到的都不会干扰ignore
Martin Vegter 2013年

你准备好了吗edit_headers
jasonwryan 2013年

不,我没有edit_headers设定
Martin Vegter 2013年

2

如果使用vim:

set editor = "vim -c '/Mix: /d|/Reply-To: /d'"

暴躁,但能解决问题。简而言之,Linux。
ThreeFx
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.