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(все, що це означає)
Роберт Хайєк,

Sooo, доводить, переглядаючи вихідний код, що ці параметри недоступні (і тому говорять "ні, не можливо - але подивіться тут, модифікація") на вищезазначені питання надійне джерело? :)
полим

Відповіді:


3

Гаразд, я отримав (дуже хакі) рішення. Відповідь: Ці заголовки можна видалити, відредагувавши 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_REPLYTOenum -> зникає Reply-Toзаголовок
  • прокоментуйте рядок "Відповісти до:" в Promptsмасиві -> зникає Reply-Toрядок заголовка
  • коментар draw_envelope_addr (HDR_REPLYTO, msg->env->reply_to);-> зникає Reply-Toзаголовок
  • коментуйте рядки 564- 567щоб уникнути компіляції помилок через відсутність HDR_REPLYTO-> скасовується параметр Reply-Toредагування заголовка
  • додайте #undef MIXMASTERперед чеком def (або, можливо, додайте цей рядок раніше, щоб уникнути позитивної перевірки) -> зникає Mixзаголовок.

Тоді ./configureі makeстворити свою персоналізовану mutt. Можливо, вам доведеться виправити деякі проблеми зі збиранням та конфігурацією.

Це працювало далі mutt-1.5.21.

Я не знаю, як працює код мута, я бачу, що вони використовують curseswindows. Якщо хтось витрачає більше часу на розуміння цього коду та чому він працює, будь ласка, опублікуйте подальше спостереження.


дякую, але я сподівався на якийсь параметр config. Перекомпіляція Mutt здається досить високою, щоб заплатити.
Мартін Вегтер

так, я знаю. Я вивчав код і намагався знайти будь-яку можливість для деяких параметрів конфігурації, але їх там немає. Відповідь на ваше запитання вище: "Так, це можливо, але при більшій роботі. Ні, це неможливо за допомогою параметрів конфігурації або подібних легко налаштованих засобів". Вибачте, що розчарували, здається, що немає простого способу: /.
полим

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

дякую, але це діє лише в пейджері (тобто для отриманих повідомлень), але не в меню складання.
Мартін Вегтер

Для мене працює: що ще є у вас .muttrc?
Jasonwryan

ну звичайні речі. близько 50 рядків. Але нічого, що я міг би бачити, не завадило бignore
Мартін Вегтер

Ви встановили edit_headers?
jasonwryan

ні, я не edit_headersвстановив
Мартін Вегтер

2

Якщо використовується vim:

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

Хаккі, але робить трюк. Linux в двох словах.
ThreeFx
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.