Terminator (ターミナル拡張) のタイトル部を、ウィンドウごとに任意のものに変更する (bash)

Terminator (ターミナル拡張) のタイトル部を、ウィンドウごとに任意のものに変更する (bash)

f:id:mmmpa:20170829034221p:plain

ターミナルを立ち上げまくっていると上のようなことになってどれがどれだかわからず大変につらい。

このタイトルはプロンプトの変更と同じく PS1 に食わすことで変更できます。プロンプトを生かしたままで変更しなければならないので ~/.bashrc などに関数を定義して一発で変更できるようにします。

set_title () {
  ORIG=$PS1
  TITLE="\e]2;$*\a"
  PS1=${ORIG}${TITLE}
}
set_title EC2

f:id:mmmpa:20170829040402p:plain

Terminator ではフォーカスがあたっているターミナルのタイトルが表示されるので、分割しまくっている場合は Broadcast all などで全てに設定しないといけないのが少し手間ですね。

参考

stackoverflow.com

Bash/プロンプトのカスタマイズ - ArchWiki

プロンプトと同じようにシェルにエスケープシーケンスを出力することでターミナルのウィンドウタイトルもカスタマイズできます。プロンプトでウィンドウタイトルのカスタマイズすることができます。技術的には xterm の機能ですが、近代的なターミナルの多くがカスタマイズをサポートしています。使用するエスケープシーケンスは ESC]2;new titleBEL です。ESC と BEL はエスケープとベルの文字列に置き換えてください。

"\e]2;NEW TITLE\a"