の助けを借りてxterm タイトルバーにコマンドを表示gnome-terminal
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はすでにこれを行うことができます。
マンムテック
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
最初の引数を標準出力に反映し(ステータスバーに表示され)、2番目の引数がデバイスに書き込まれ/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
sum$my_title
は彼が設定で定義した変数です(しかし、Muttドキュメントを指す以外は詳細は提供しません)。status_format
。
あなたの例では、
set status_format = "mutt_status \"%n new | %M in %f [%v].\" \"%n new | %M in %f [%v].\"|"
同じ情報がステータス行とヘッダ行に送信されます。
これを検討しながら私は気づかなかったts_enabled
。ts_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)に従って1つの引数を必要とするterminfo関数を使用します。
to_status_line tsl ts move to status line,
column #1
ただし、xtermのタイトル文字列は引数を受け入れません。このため(議論の目的で)ncursesではほとんど無視されます。xterm+sl
に最初に追加された項目1999年。 "xterm" terminfo には見つかりません。代わりに、拡張機能はそれ以降に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年以上前)。入力するばか。