OpenWindows ユーザーズガイド

テキストエディタのカスタマイズ

テキストペインのポップアップメニューの「その他」サブメニューをカスタマイズし、ファンクションキーへの割り当てを指定するために修正できるファイルがテキストエディタには 2 つあります。この節ではこの 2 つのファイルについて説明します。

.text_extras_menu ファイル

「その他」メニューをカスタマイズして独自のコマンドを組み込むには、ファイル .text_extras_menu を修正します。デフォルトでは、(またシステムの設定に応じて) テキストエディタはファイル $OPENWINHOME/lib/locale/<ロケール名>xview/.text_extras_menu にある情報を使用します。<ロケール名> は、ロケール固有のテキストファイルが入っているサブディレクトリです。デフォルトは「C」ですが、自国のロケールに応じて異なることがあります。下記の 2 通りの手順により、このファイルの独自のコピーを作成し、テキストエディタにデフォルトではなくそのコピーを使うように指示することができます。

標準の「その他」メニューファイルは $OPENWINHOME/lib/locale/C/xview/.text_extras_menu です。これを図 3-14 に示します。この図を見ると、独自の「その他」メニューファイルを実装する方法がわかります。カスタムファイルを作成し、テキストエディタに対して、上記のどちらかの方法を使ってその位置を示した場合、そのカスタムファイルに変更を行うと、「その他」メニューで直ちにに実装されるのがわかります。また、これらの変更は、メールツール作成ウィンドウなどの DeskSet アプリケーションの他のテキストペインにも影響を与えます。

図 3-14 /usr/lib/.text_extras_menuにある「その他」メニューファイル

Graphic

それぞれの「その他」メニュー項目の名前は二重引用符で囲まれています。それぞれのサブメニューは MENU 文から始まり、END 文で終わります。

troff インラインフォント仕様の ¥fB¥fP のようにバックスラッシュ (¥) 文字を .text_extras_menu ファイルに入れるには、4 つのバックスラッシュ文字を使う必要があります。たとえば、次のようになります。

insert_brackets ¥¥¥¥fB ¥¥¥¥fP

あるいは、1 組の大かっこではなく引用符を使うこともできます。たとえば、次のようになります。

insert_brackets "¥¥fB" "¥¥fP"

.textswrc ファイル

フィルタ (プログラムまたはルーチン) を未使用のファンクションキーに対応させるには、.textswrc ファイルの各自用のコピーを修正します。テキストを選択し、ファンクションキーを押すと、選択したテキストがそのキーに割り当てられたフィルタに入力されます。フィルタからの出力はテキストのキャレット位置に戻され、選択したテキストに置き換えられます。

ファンクションキーに対するフィルタキーの独自のバインディングの組み合わせを指定したいときは、ホームディレクトリの .textswrc ファイルに /usr/lib/.textswrc をコピーしてください。ファイルが存在すれば、テキストエディタは .textswrc ファイルをホームディレクトリから読み出します。

.textswrc ファイルの書式

右ききユーザ用のキーボードで使われるフィルタの例として、サンプルファイル /usr/lib/.textswrc を表示して内容を見てください。このファイルをホームディレクトリにコピーしたあと、フィルタバインディングをまだ使われていないファンクションキーに追加します。

.textswrc ファイルエントリの基本書式を示します。

キー名  FILTER
コマンド行

次のような文を .textswrc ファイルに入れることによってファンクションキーのどれかに機能を割り当てることができます。

/*
* Note that:
*  insert_brackets  /* */ does NOT work
*   double quotes are needed 
*/

KEY_TOP(10) FILTER
insert_brackets "/* " " */"

この例は、C 言語のコメントマーカをテキストの前後に入れる方法を示しています。 .textswrc ファイルにこの例を入力し、ファイルを保存します。次に、この追加機能を使うために、新しいテキストエディタを起動します。.textswrc ファイルへの変更は、テキストエディタを新たに起動して初めて有効になります。次にテキストを選択してキーを押します。テキストは、/* と */ で囲まれたそれ自体のコピーに置き換えられます。 .textswrc ファイルのコメントの C に似た構文に注意してください。

.textswrc ファイルでフィルタを定義するときは、フィルタがサーチパスによってアクセス可能なディレクトリになければならないことに注意してください。コマンドが見つからないか、またはフィルタの起動に何らかの障害があると、ドキュメントで変更は行われません。