iTerm2 Build 1.0.0.20131109 で確認しました。
TeraTerm Pro の対応制御シーケンス や RLogin の対応している制御コード一覧 には IME の状態制御があります。
iTerm2 はオプションでその制御シーケンスを受け付けるようには出来るのですが、 現状は無視するだけのようです。
制御シーケンス
TeraTerm Pro 由来で RLogin も対応したものらしいです。 具体的なシーケンスとしては TeraTerm Pro の対応制御シーケンス から引用すると、 次の3種類になります。
CSI < r TTIMERSIME の開閉状態を復元する。
CSI < s TTIMESVIME の開閉状態を保存する。
CSI < Ps t TTIMESTIME の開閉状態を設定する。省略時の Ps の値は 0。
Ps = 0 IME を閉じる。
= 1 IME を開く。
iTerm2 の対応
https://github.com/gnachman/iTerm2 の VT100Terminal.m を見るとわかるのですが、 制御シーケンスの存在は認識しているようです。 その処理で呼ばれているところを追いかけてみると、 現状はただ無視しているだけでした。
このあたりのコードは設定で Profiles
の Terminal
タブの中にある Use modern parser (experimental)
にチェックを入れないと使われないようで、 チェックなしの状態で ruby -e 'puts "\e[<1t"
とか実行しても <1t
と出るだけで何も起きませんでした。 チェックを入れると puts
で自動的に入る改行だけになりましたが、 IME の状態に変化はありませんでした。
Disqus Comments