制御シーケンスで送受信漢字コードを変更出来るようにする
TTXKcodeChange プラグインを入れると、リモート側から制御シーケンスを使用して送受信漢字コードの設定が変更出来るようになります。
以下の制御シーケンスをサポートしています。
KT -- 送信漢字コード Valueとして SJIS, EUC, JIS, UTF8 を受け付けます。 KR -- 受信漢字コード Valueとして SJIS, EUC, JIS, UTF8, UTF8m を受け付けます。
Key=Value;[Key=Value;...]
ログインシェルがzshの時の設定例です。
[.zloginの記述] echo -n "\e]5964;kt;kr\a" # KT/KRの設定を問い合わせる read -t 1 TT_ORG_KCODE # 応答を待つ(タイムアウト:1秒) if [ $? -eq 0 ]; then echo -n "\e]5963;kr=euc;kt=euc\a" # 応答があったなら設定を変更する fi [.zlogoutの記述] # .zloginで漢字コードの設定が保存されていたら、その設定に戻す。 if [ " ${TT_ORG_KCODE}" != " " ]; then echo -n "\e]5963;${TT_ORG_KCODE}\a" fi
受信データのフックのサンプルです。
受信データを監視し、対応している制御シーケンスだった場合は設定の変更を行います。
問い合わせに対する応答は、送信バッファを直接書き換えるという少々強引な方法を取っています。
このプラグインを改造すれば、他の設定も制御シーケンスで変更出来るようになるかもしれません。