Yash 2 その 81
行編集機能の一部として端末エミュレータのタイトルを設定する機能を入れるつもりだったが、やめることにした。
Terminfo のケイパビリティの中に端末エミュレータのタイトルを設定する機能に対応するものがないため。一部の種類の端末データベースでは hs, tsl, fsl ケイパビリティにタイトル設定を割り当てているが、一般的でない。
さて現在、行端ぎりぎりまで文字を入力した時に残りの文字を次の行に折り返して出力する処理の調整を行っている。
普通の端末では行端まで文字を出力すると自動的にカーソルが次の行に移動するが、多くの端末では厳密にはカーソルが行端に達した瞬間ではなく行端を越えて文字を出力しようとした瞬間にカーソルが移動する。従ってカーソルは行端に達しているが行端を超える文字は未だ出力していないという状態をうまく取り扱う必要が出てくる。例えば xterm や PuTTY では、このような状態のときカーソルは本来の位置より一文字分手前に置かれる。一方 Gnome 端末ではカーソルが画面外にはみ出て見えなくなる。よってこの状態でカーソルを動かそうとすると端末の種類によって位置がずれてしまうので、次行の先頭に来るべき文字をただちに出力してカーソル位置を調整しなくてはならない。
| 固定リンク
コメント