XFree86[tm] 4.0 リリースノート
: X のライブラリとクライアント
Previous: X サーバ
Next: フォントと国際化
3. X のライブラリとクライアント
3.1. Xaw
今回のリリースには 2 種類の Xaw ライブラリが入っています。ひとつは
バグ修正と、バイナリ互換を保った上での改良を施したもので、もうひとつは
いくつか新しい機能を追加した全く新しいバージョンです。
新機能:
- 全ての Xaw ウィジェットで
displayList
リソースが使え
ます。このリソースは基本的には描画コマンドのリストからなり(詳しくは
オンラインマニュアルの Xaw(3)
で説明されています)、設定可能
なテーマが使えるウィンドウマネージャやデスクトップマネージャと Xaw
プログラムを組み合わせることができるようになります。
- 新しいアクションがいくつか Xaw ウィジェットに追加されています。
これにより、ウィジェットのもっと細かい制御や実行時のリソース設定がで
きるようになりました。
- Xpm が XFree86 に統合されたので、新しい Xaw ライブラリにリンク
されたプログラムは Xpm にもリンクされます。Xpm は背景のピックスマップ
に使えますし、shape 拡張を施したウィジェットにも使えます。
- テキストウィジェットはいろいろ変わっています。以下のように変わっ
ています:
- ブロックカーソル
- コンパイル時に設定する実行取り消し/再実行レベルが
16384 になりました(この制限に到達したときにテキストがセーブ
されていなければ、レベルは自動的に大きくなります)。
- 上書きモード。
- キルしたテキストをキルリングに挿入します。このテキスト
は記憶されており、
M-y
を押すとキルリングを順に見て
いくことができます。
international
リソースが設定されていなくても、
ラテン言語に国際化対応するようになりました。この機能を十分に
生かすには、ユーザは locale 環境変数を適切に設定す
る必要があります。
multiply
インタフェースが改善されました。
C-u,<number>
を押すと(数字は負の数にもできま
す)、テキストアクションに引数を渡せます。
- テキストを左寄せ、右寄せ、中央寄せ、均等配置で整形でき
ます。
- テキストのインデントもできるようになりました。
バグ修正:
- simple menu ウィジェットのジオメトリ管理のコードが改良され、
メニュー項目が画面に出てこない問題が解決されました。
- form ウィジェットのジオメトリ管理コードが修正され、親の form
ウィジェットのサイズを変えたときに子ウィジェットのジオメトリで起こる
整数値の丸めの問題が解決されました。
- テキスト関連のコードのバグがいくつか修正されました。一部の
コードは最初から書き直しました。
3.2. Xpm
Xpm ライブラリ(X pixmap, X ピックスマップ)のバージョン 3.4k が XFree86
に組み込まれました。
3.3. xterm
新機能:
- Unix98 PTY への対応。
- UTF-8 の入出力による Unicode 対応。制限がいくつかあります。作
業は現在進行中です。
- この機能を使うには
-u8
コマンド行オプションを
使わなければなりません。また、OPT_WIDE_CHARS
を定義
してコンパイルしなければなりません(imake を使ってコンパイル
すると、この機能はコンパイルされます)。
- 入力(キーボードから)と出力(選択/貼り付け)は
UTF-8 で行われます。Xlib は UTF-8 には対応していません。
つまり xterm 側でキーシンボルコードの対応表を参照しています。
選択/貼り付けは
STRING
経由か、または新しいアトムの
UTF8_STRING
を使って行われます。
- xterm が消去文字(erase character)を
\177
にする必要が
なく PTY 的な意味で使えるようにしたり、PTY の消去文字を xterm の設定に
合うように設定するためのオプション機能(リソースまたはコマンド行)を追加
しました。$TERMCAP
は実際の設定を反映するように修正されますが、
terminfo の kdch1
の文字列は修正されない点に注意してください。
(この機能は XFree86 3.3.4 にもあります。)
- キーボードの扱いを変えました。2 つのモード(VT220 と Sun/PC)を
ポップアップメニューで変えられます。これにより、テンキーをちゃんと
テンキーとして使えるようになります。後ろ矢印キーやデリートキーも影響を
受けます。
- シフト、コントロール、ALT 状態がセットされているかどうかを示す
ためのファンクションキーエスケープシーケンスへのパラメータを追加しました。
これは Sun/PC キーボードモードで使えます。
- 反転表示についてのコマンド行とメニューによる設定が、プログラム
制御の反転表示から分離されました。これは X11R6 で新しく出てきた問題です。
正しいことは正しいのですが、リセットコマンドがコマンド行の
-rv
オプションの効果を取り消してしまうことでほとんどのユーザ
は混乱してしまいます。
- カーソルの点滅をリソースまたはポップアップメニューで指定できます。
- 通常画面と代替画面を切り替えるための新しい制御シーケンスが
それぞれの画面について別々のカーソル保存位置を管理するようになりました。
これにより vi を終了した時にカーソル位置が狂うことがなくなりました。
- フォントに罫線文字が含まれない場合にも、罫線を描画することによっ
て対応するようになりました。
- フォントのサイズ切り替えへの対応。シフトキーとテンキーの +, -
を使ってフォントメニューから選択できます。
- 新しいリソース
trimSelection
を使うと、選択された行の
末尾に付いている空白文字を xterm に削らせることができます。
- ユーザアプリケーションが xterm のバージョンを調べる方法を提供
します。DA シーケンスへの二次応答としてパッチ番号(例: 111)を返すことで
機能比較ができるようになります。
XK_Delete
キーシンボルの扱いを変えました。
モディファイア(シフト、コントロール、ALT)が付いていると、
パラメータ化された、VT220 形式の "<esc>[3~
" を送ります。
- フォントメモリが少ない X 端末でもうまく使えるように、倍角文字
のフォント情報のキャッシングを制限する ``cacheDoublesize'' リソースを
追加しました。
- ``metaSendsEscape'' リソースと、これに対応する制御シーケンスと
メニュー項目を追加しました。与えられたキーの前に xterm に ESC を送らせ
る ``eightBitInput'' に似ていますが、全てのキーに適用されますし、
8 ビット/ 7 ビットの端末の設定とも独立です。
- 256 色しか割り当てられないシステムのための 88 色モデルを用意し
ました。
- xterm 用の DEC Locator 制御シーケンスに対応しました。これによ
り、VAX Tpu や SMG$ ベースのアプリケーションといった DEC Locator
シーケンスを使うアプリケーションを xterm でマウスを使って利用できます。
-hold
オプションを実装しました。このオプションを使う
と、ユーザはシェルが終了した後もウィンドウを残せます。
- アプリケーションリソース ``messages'' (および、これに対応する
-
/+mesg
オプション)を追加しました。これは端末の
初期状態のパーミッションを制御します。
- Media Copy (印刷)操作のための UTF-8 変換を実装しました。
- ``Print Composed Main Display'' と ``Print All Pages'' のため
に vt320 の制御シーケンスを実装しました。後者は現在の画面に加えて
スクロールバックバッファの印刷も xterm に指示します。
バグ修正と改善:
colorMode
がデフォルトで有効になっていると、組み込みの
デフォルトリソースは XTerm-col.ad
に書かれている色に合わせ
られます。
- DA 応答文字列は使わないことが推奨されるようになりました。
これが必要と思われるアプリケーションではリソース値経由で設定できるよ
うにしました。
- vt220 の National Replacement Character でマップされる入力文字。
- 倍角文字への対応が終了しました。
- terminfo から
kfnd
/kll
/kslt
文字列
を削除しました。なぜなら curse アプリケーションは必ずしも
khome
/kend
を対で返すとは限らないからです。
- メニュー部分の ifdef を訂正しました。今までは tek4014 の項目を
うまく消せていませんでした。
- xterm が太文字を重ね書きでシミュレートすべきかどうかを決めるた
めのテストを改良しました。
- 倍角文字、フォント切り替え、画面サイズ変更、色についてのテスト
/デモを追加しました。
- ALT キーの扱いを修正し、キー入力のトランスレーションで ALT キー
がモディファイアとして使われていたら、Sun/PC のファンクションキー用の
エスケープシーケンス内ではパラメータが全く送られないようにしました。
- ptyInitialErase のロジックを改良し、terminfo ライブラリと
組み合わせた時の動作を改善しました。
- UTF-8 モードでの罫線文字の扱いを変え、変換された文字を保持するのに
1-31 の文字ではなく、Unicode での値を使うようにしました。
- UTF-8 のシーケンスの変換の仕方を変え、長過ぎるバリエーションを
弾くようにしました。
- 色が正しくレンダリングできないような場合を直しました。これは
アプリケーションが行をいくつか挿入し、それから色を変えた時に起こってい
ました。これが全て一度の書き込みで行われていれば、途中で書き換えが起こ
ることはなく、新しい色は次の書き換えを待って止められていたスクロール
操作に適用されます。
- HP のファンクションキーに関するコマンド行オプションで、
リソース名のスペルミスを直しました。
- ``Sun/PC Keyboard'' ポップアップメニュー項目のラベルを
``VT220 Keyboard'' に移しました。というのも、チェックされる状態は
Sun/PC よりも VT220 に対応するからです。
- 重ね書きを使った太文字のシミュレーションを 2 ヶ所直しました:
- テキストの末尾にゴミが残らないように削除を行います
- ワイド文字のロジックがまちがって重ね書きのロジックにな
らないように括弧を追加しました
- 繰り返し文字の制御シーケンスのチェックを修正し、文字クラスを
isprint()
マクロではなく xterm の状態テーブルで調べるようにし
ました。
- terminfo の ``xterm-xfree86'' の項目を修正し、シフトとコントロール
のモディファイアを反映させました。
- termcap に複数の項目を追加し、terminfo ファイルと同じエイリアス
の組を持たせるようにしました。
- terminfo の xterm-256color の項目が使う色の値のスケールを
0 から 1000 にしました。これは ncurses が期待する値です。
- terminfo の xterm-r6 の定義を変更し、F1-F4 がプログラムの動作
と合うようにしました。
- マウス追跡モードで返されることがあるモディファイアに関する内容
の古い文書を削除しました。また、ロジックを変更し、存在するモディファイア
(NumLock 等)以外のモディファイアを無視するようにしました。
- マウス追跡ボタンイベントのシフトモディファイアの古いコードにあ
る空きビットを利用して、ボタン 4, 5 をエンコードしてホイールマウス等で
使えるようにしました。提案されたホイールマウスボタンの変換を
charproc.c に移し、カスタマイズを簡単にしました。
- PTY の所有者の変更が失敗したかどうかに関する警告を変更しました。
システムの構成によっては古い形式の PTY を持っていないかもしれません。
- 出力する情報を増やしました。つまり、パーミッションが不十分なた
めに失敗するかもしれない、メインプログラム内のいくつかのシステムコール
について、情報を標準エラー出力に出すようにしました。
- configure スクリプトを色々改善しました。例えば utmp をテストし
ます。
3.4. xedit
xedit は新バージョンの Xaw ライブラリに追加された新機能の大部分を使え
るように修正されました。xedit 固有の機能もいくつか追加されています。
Emacs ユーザなら、新バージョンの xedit では Emacs のキー割り当てがいく
つか使えることに気付くと思います。以下のような機能があります:
- タブキーでのファイル名補完。Emacs の dired と同じよう
に使えるウィンドウもあります。これは複数のファイルがマッチするか、
C-x,d
を入力した時か、ディレクトリ名を指定した時表示されます。
- 同時に何個のファイルでも編集できます。同じ、または異なる
ファイルを同時に複数個表示できます。
- カーソル位置の行番号が常に表示されます。カラム番号、
位置オフセット、ファイルの現在の大きさを表示するようにもカスタマイズで
きます。
autoReplace
というリソースがあります。これを使うと
テキスト入力時に自動的にテキスト置き換えを行えます。この機能は
簡単なマクロを作ったり、ありがちなスペルミスを訂正するときに便利です。
- 機能が揃っている ispell インタフェースも利用できます。この
インタフェースは ispell プログラムの端末インタフェースの機能の
ほとんどを提供し、さらにいくつかの機能も追加しているつもりです:
- 16 回までのアンドゥ(コンパイル時の制限)
- 簡潔表示モードへの切り替え
- 辞書の変更
- このインタフェースは言葉の繰り返しもチェックします
- プログラミングモードの最初の試行版が追加されました。現在はモード
はひとつしかありません。
- C-モード: このモードは安定な上、十分役立つはずです
XFree86[tm] 4.0 リリースノート
: X のライブラリとクライアント
Previous: X サーバ
Next: フォントと国際化