Mutt 내에서 터미널 제목을 설정하시겠습니까?

Mutt 내에서 터미널 제목을 설정하시겠습니까?

의 도움으로xterm 제목 표시줄에 명령 표시실행 중인 명령을 반영하도록 제목을 변경 하여 gnome-terminalMutt가 실행 중인 터미널을 확인할 수 있습니다. 하지만 내가 정말로 원하는 것은 나의 Mutt 지위를 타이틀까지 끌어올리는 것입니다. 나는 이것을 내 안에 가지고 있습니다 .muttrc:

set status_format = "%n new | %M in %f [%v]."

그리고 나는 그 모든 지위를 내 직위에 올리고 싶습니다 gnome-terminal. 내 에서 그렇게 할 수 있는 방법이 있나요 .bashrc? 아니면 다른 방법인가요?

vim에서 이 작업을 수행하는 방법에 대한 토론이 있습니다.http://vim.wikia.com/wiki/Automatically_set_screen_title하지만...저건 vim이에요.

답변1

mutt는 이미 이것을 할 수 있습니다.

남자 muttrc

  ts_enabled
          Type: boolean
          Default: no

         Controls whether mutt tries to set the terminal status line and
          icon name.  Most terminal emulators emulate the status line in
          the window title.



  ts_status_format
          Type: string
          Default: “Mutt with %?m?%m messages&no messages?%?n? [%n NEW]?”

         Controls the format of the terminal status line (or window
          title), provided that “$ts_enabled” has been set. This string is
          identical in formatting to the one used by “$status_format”.

불행히도 mutt를 종료하면 제목이 다시 변경되지 않습니다.

답변2

status_format에서 제목을 설정할 수 있는 외부 스크립트를 실행하도록 할 수 있습니다. 이것은 몇 년 전에 mutt 메일링 리스트에 다음이 설명했습니다.아밋 라몬, 파이프 기호를 사용 |하여문서화처럼:

세로 막대("|")로 끝나는 모든 형식 문자열은 공백을 구분 기호로 사용하여 문자열의 첫 번째 단어를 통해 확장 및 연결됩니다. 반환된 문자열은 표시에 사용됩니다. 반환된 문자열이 %로 끝나는 경우 포맷터를 통해 두 번째로 전달됩니다. 이를 통해 필터는 % Expandos를 포함한 대체 형식 문자열을 생성할 수 있습니다.

Ramon의 예는 다음 문자열입니다.

set status_format="mutt_status \"$my_status\" \"$my_title\"|"

그의 예에는 mutt_status첫 번째 매개변수를 표준 출력에 반영하고(상태 표시줄에 표시됨) 두 번째 매개변수가 장치에 기록되고 /dev/tty(xterm 제목 표시줄에 표시됨) 간단한 쉘 스크립트가 있습니다.

#!/bin/sh

# Demonstration of format string pipes. Sets the xterm title to the 2nd argument,

# and returns the first  unchanged.
#
# this sets the title
printf "\033]0;$2\007" > /dev/tty
echo "$1"
# end of script

Ramon의 메모에는 $my_status과 가 $my_title자신의 구성에서 정의한 변수라고 나와 있습니다(그러나 Mutt 문서를 가리키는 것 외에는 구체적인 내용은 제공하지 않았습니다).status_format.

귀하의 예를 들어,

set status_format = "mutt_status \"%n new | %M in %f [%v].\" \"%n new | %M in %f [%v].\"|"

상태 줄과 제목 줄 모두에 동일한 정보를 보냅니다.

이것을 검토하면서 나는 ts_enabledts_status_format를 눈치채지 못했습니다. @토마스 웨인브레너설명합니다. 그것은 불과 몇 달 전에 mutt에 추가되었습니다.2015년 8월:

    1.5.24 (2015-08-31):

      + terminal status-line (TS) support, a.k.a. xterm title. see the
        following variables: $ts_enabled, $ts_icon_format, $ts_status_format

tsl해당 기능은 terminfo(5)에 따라 매개변수가 필요한 terminfo 기능을 사용합니다 .

   to_status_line            tsl    ts   move to status line,
                                         column #1

그러나 xterm의 제목 문자열은 매개변수를 허용하지 않습니다. 이런 이유로 ncurses에서는 대체로 무시됩니다. 비록 (논의를 위해)xterm+sl처음 추가된 항목1999년. "xterm" 용어 정보에서는 해당 내용을 찾을 수 없습니다. 오히려 확장은 TS이후 권장되는 대안이었습니다.2012년.

xterm을 제외하고,복원 중mutt 종료 이후의 제목은 잘못된 이스케이프 시퀀스에 대한 우려로 인해 수년 동안 널리 지원되지 않았습니다. xterm은 대부분의 패키지에서 기본적으로 비활성화되어 있는 쿼리/응답을 제공합니다. 또한 제목 문자열을 만드는 또 다른 제어 시퀀스를 제공합니다.쌓인. GNU 화면은 이 기능을 사용합니다(추가됨2009년 11월); 대부분의 다른 응용 프로그램의 경우 tsl/ 의 (잘못) 사용이 fsl너무 확고하게 자리잡아 일반 사용자에게 아무런 차이도 주지 않습니다.

이 질문은 다음과 같습니다.LQ에서 다시 게시2015년 초, 흥미롭게도 나이가 많은 멍청이를 가리킨다.출시 발표:

Mutt 1.5.15는 2007년 4월 6일에 출시되었습니다. 이 버전에는 1.6으로의 기능 동결을 예상하여 여러 가지 새롭고 오래된 기능 패치가 적용되었습니다. 여기에는 내장된 SMTP, 흐름 메일 지원 개선, xterm 제목 업데이트, 문자 세트 개선, GPG PKA 지원 등이 포함됩니다.변경 로그자세한 내용은

하지만,저것를 가리키는 것으로 보인다.반점:

2007-03-14 14:45 -0700  Brendan Cully  <[email protected]>  (35b8facdbdda)

    * contrib/Makefile.am, contrib/mutt_xtitle, muttlib.c: Add demo
    mutt_xtitle script

그건 내가 이미 알고 있었어이전 논의(그리고 mutt 자체에 통합되지 않았기 때문에 무시되었습니다). 일부 패키저에서는 이 패치를 적용했을 수도 있지만 최종적으로(약 10년 이상) 통합되었을 때 기능 이름이 변경되었습니다.~ 안으로바보.

관련 정보