Screen に onew を組み込み、Canna/Wnn によるかな漢字入力機能を付加するパッチ
screen-3.9.4+onew.diff
このパッチは、GNU の screen-3.9.4/3.9.5 に佐藤豊さん
作の onew ライブラリを組み込んで、Canna
/Wnn によるかな漢字入力機能を
付加するものです。
このパッチを適用したによる不利益、損害などについては
一切責任を負いませんので、御了承下さい。また、このパッチは
オリジナルの著作権に従いGPLとします。
screen-3.9.4+onew.diff
インストール方法
以下にインストールの手順を示します。なお、既に onew ライブラリが
コンパイル済みであることが前提です。
- オリジナルのソース screen-3.9.4.tar.gz とパッチscreen-3.9.4+onew.diffを
用意します。
- オリジナルソースを適当なディレクトリに展開します(便宜上
/usr/src に展開したものとして説明し、screen-3.9.4+onew.diff も
/usr/src に存在すると仮定します)。
- 展開することによって作成されるディレクトリ /usr/src/screen-3.9.4 に
移動します。
- キーボードから patch -p1 < ../screen-3.9.4+onew.diff
と入力し、パッチを当てます。
- ./configure と入力し、configure を実行します。
- Makefile 中の LIBS = と書かれた行に、onew ライブラリ
と使用するかな漢字変換エンジンのライブラリをリンクするための
オプションを追加します。
例えば、私の環境(Linux 2.2.12+irda3, onew 2.2.10, Canna 3.5b)では
-L../onew2.2.10 -lonew -lcanna -lRKC
というオプションを追加しています。
- make を実行し、適当なユーザ権限でmake install
を実行します。
以上でコンパイルは完成です。
設定
このパッチを適用すると、以下の設定コマンドが追加されます。
- onewinputcode
ONEW によって入力した漢字文字列のコードを jis, euc, sjis の
いずれかで指定します。デフォルトは jis です。
- onewoutputcode
変換時の表示に用いるコードを jis, euc, sjis のいずれかで
指定します。デフォルトは jis です。
- onewromkankey
変換の ON/OFF を行うためのキーを設定します。デフォルトは
Ctrl-SPACE です。
また、~/.oscreenrc というファイルがあれば、そちらを設定ファイル
として読み込みます。~/.screenrc ファイルと設定を分けることで、オリジナル
の screen と共存可能です。
変更履歴
- screen-3.9.4+onew.diff
オリジナルソースをscreen-3.9.4に変更し、適切に動作するよう
修正した。3.9.5でも動作することを確認。
- screen-3.7.6+onew.diff
オリジナルソースをscreen-3.7.6に変更し、差分を取り直した。
実質的にはscreen-3.7.4+onew.diffと変わりない。
- screen-3.7.4+onew.diff
オリジナルソースを screen-3.7.4 に変更し、それに伴って
EUC/SJIS のバグに対するパッチを削除
バッファに大量の入力があった時に一定量以上の入力を破棄していた
バグを fix
Ctrl-G, Ctrl-V, Ctrl-Z, Ctrl-Space が通らないのを fix
モードの on/off を繰り返すと表示が崩れることがあるバグを fix
未変換文字をアンダーライン表示するように変更
- screen-3.7.2+onew.4.diff
~/.oscreenrc を設定ファイルとして読み込むようにした
make install 時に oscreen という名前でインストールするようにした
短い時間内に複数の文字列が入力された時に正しく動作しなかったバグを
fix
- screen-3.7.2+onew.3.diff
バックスペース、Ctrl-U を有効にした
変換バッファを消去する際の再描画を最適化した
入力バッファの長さをチェックして表示しきれない入力を捨てるようにした
漢字の第一バイトのみが確定バッファに入力されるバグを修正した
入出力漢字コードの指定が rc ファイルで指定出来るようにした
変換起動キーが rc ファイルで指定できるようにした
- screen-3.7.2+onew.2.diff
一部の OS に存在しない memmove() を bcopy() に置き換えた
(reported by 平山@NEC情報システムズさん)
漢字変換時に変換前の文字列が画面に残らないように修正した
- screen-3.7.2+onew.diff
とりあえず作成
Last modified: 99/09/22
knok@daionet.gr.jp