Cygwinのscreenでタイトルが化ける問題(未解決)
連日のCygwin上のscreenでウィンドウタイトルが文字化けする問題だけど、ちょっとだけわかったことがある。
xtermのドキュメントによると次のようなエスケープシーケンスでウィンドウタイトルが変更できるらしい。
ESC]0;stringBEL -- Set icon name and window title to string ESC]1;stringBEL -- Set icon name to string ESC]2;stringBEL -- Set window title to string
というわけで、試しにこんなのを実行してみると……
# (1) echo -en "\e]0;test\a" # (2) echo -en "\e]0;テスト\a"
上は正常に反映されるけど、下はなんとも言えない感じに文字化けして反映された。
そんで、screenのドキュメントを見てみるとこんなことが書いてある。
screen が認識する制御シーケンスの一覧を以下に示す。 "(V)" は VT100 固有の機能であることを示し、 "(A)" は ANSI または ISO 固有の機能であることを示す。 : ESC \ (A) 文字列の終端子 : ESC P (A) デバイス制御文字列。文字列を、解釈せず、直接ホストの端末に出力する。
なんかパススルーしてくれそうな感じ?
というわけで、早速こんな感じで試してみると……
# (3) echo -en "\eP\e]0;test\a\e\\" # (4) echo -en "\eP\e]0;テスト\a\e\\"
ダメだった\(^o^)/
terminal | (1) | (2) | (3) | (4) |
---|---|---|---|---|
mintty | 正常 | 正常 | 正常 | 正常 |
mintty+screen | 正常 | 文字化け | 正常 | 文字化け |
余談
余談だけど、vimはタイトルを変更するときに、そのタイトル文字列の前後にt_tsとt_fsをつけて出力するみたい。
で、これがこんな感じに設定されてるのでウィンドウのタイトルが変わるみたい。
t_ts=^[]2; t_fs=^G