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 พิสูจน์อักษรโดยมองผ่านซอร์สโค้ดว่าตัวเลือกเหล่านี้ไม่พร้อมใช้งาน (ดังนั้นจึงบอกว่า "ไม่ไม่เป็นไปได้ - แต่ดูที่นี่การดัดแปลง") กับคำถามข้างต้นเป็นแหล่งข้อมูลที่น่าเชื่อถือหรือไม่ :)
polym

คำตอบ:


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ส่วนหัว
  • ใส่เครื่องหมายคอมเม้นต์ในสตริง "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ได้

ฉันไม่รู้จริงๆว่าโค้ดของ mutt ทำงานอย่างไรฉันเห็นว่าพวกเขาใช้curseswindows หากมีคนใช้เวลาทำความเข้าใจกับรหัสนี้มากขึ้นและสาเหตุที่ใช้งานได้โปรดโพสต์ติดตามผล


ขอบคุณ แต่ฉันหวังว่าจะได้พารามิเตอร์การตั้งค่าบางอย่าง การคอมไพล์ Mutt ดูเหมือนจะค่อนข้างสูงที่จะจ่าย
Martin Vegter

ใช่ฉันรู้. ฉันศึกษารหัสและพยายามค้นหาความเป็นไปได้สำหรับพารามิเตอร์การกำหนดค่าบางอย่าง แต่พวกเขาไม่ได้มี คำตอบสำหรับคำถามของคุณข้างต้นจึงเป็น "ใช่เป็นไปได้ แต่มีการทำงานมากกว่านี้ไม่เป็นไปไม่ได้สำหรับพารามิเตอร์การตั้งค่าหรือวิธีการกำหนดค่าที่ง่ายเหมือนกัน" ขออภัยที่ทำให้คุณผิดหวังดูเหมือนว่าไม่มีวิธีง่ายๆ: /
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

ได้ผลสำหรับฉัน: มีอะไรอีกบ้างในตัวคุณ.muttrc?
jasonwryan

สิ่งที่ปกติดี ประมาณ 50 บรรทัด แต่ไม่มีสิ่งใดที่ฉันจะเห็นว่ายุ่งกับignore
มาร์ตินเวคเตอร์

คุณได้ตั้งค่าedit_headersหรือไม่?
jasonwryan

ไม่ฉันไม่ได้edit_headersตั้งค่า
Martin Vegter

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.