default_colors 3x

default_colors(3x)                                   default_colors(3x)




名前

       use_default_colors, assume_default_colors 
       - 端末のデフォルト色を使う


書式

       #include <curses.h>

       int use_default_colors(void);
       int assume_default_colors(int fg, int bg);


説明

        use_default_colors()assume_default_colors() 関数は、
       curses ライブラリの拡張機能です。
        これらは ISO 6429 色または互換機能をサポートする端末で
       使用します。
        これらの端末では、アプリケーションが未指定のデフォルト値に 
       (例えば SGR 39 または SGR 49 を使って) 色をリセットできます。
       
       訳注: SGR 39 はデフォルトの前景 (文字) 色、
          SGR 49 はデフォルトの背景色

        全画面を背景色で塗りつぶすようなアプリケーションは、
       SGR 39 と SGR 49 を利用することはありません。
        一部のアプリケーションはデフォルトの背景を使い、文字にしか
       色を付けない設計になっています。
        例えば、いくつかの ls プログラムの実装では、異なる
       ファイルの種類や許可モード (パーミッション) を示すために
       色を使っています。
        これらの「カラー ls」プログラムは背景色を変更する必要は
       なく、たいていは前景色を変更するために terminfo の setaf 
       機能項目を使うだけです。
        デフォルト色を使う全画面アプリケーションも同じ視覚効果を
       達成することができます。

        1 つめの関数 use_default_colors() は端末のデフォルト前景色/
       背景色のペアを色の番号 -1 にするように curses ライブラリに
       伝えます。
        そうすると、init_pair(x,COLOR_RED,-1) は色のペア x を
       デフォルト背景色の上に赤で表示するように初期化し、
       init_pair(x,-1,COLOR_BLUE) は色のペア x を青の上に
       デフォルト前景色で表示するように初期化します。

        他方、assume_default_colors() は色のペア 0 をどの色に
       するかを指定する改良版です。
        この関数は、特別な色の番号 -1 は端末のデフォルト色を表すと
       認識します。

       次の 2 つは等価です。
              use_default_colors();
              assume_default_colors(-1,-1);

        これらは ncurses の拡張機能です。
        curses の他の実装では、色の番号 -1 は何も意味しておらず、
       ncurses で use_default_colors()assume_default_colors() の
       呼び出しが成功する前の状態と同じです。

        curses の他の実装では、アプリケーションが色のペア 0 を
       変更することを許していません。
        それらの実装は背景色が COLOR_BLACK であると仮定して
       いますが、色のペア 0 が仮定どおりの色になる保証はありません。
        アプリケーションが use_default_colors()assume_default_colors() も使わなければ、ncurses は
       色のペア 0 を前景色 (文字) が白、背景色が黒として表示します。


戻り値

        これらの関数は失敗のとき整数 ERR を、成功のとき OK を
       返します。
        これらの関数は端末が orig_pair または orig_colors 機能項目を
       サポートしていない場合は失敗します。
        initialize_pair 機能項目が見つからない場合にも、同じように
       エラーが発生します。


注意

        この拡張機能に伴って、init_pair  関数は、デフォルトの前景色と
       背景色を指定するものとして負の引数を受け付けます。

        use_default_colors() 関数は ded をサポートするために
       追加されました。
        これは画面の一部のみを管理するために curses を使う全画面
       アプリケーションです。
        画面の下部は寸法が可変で、色付けしないままシェル・コマンド
       からの結果を表示します。
        画面の上部は「カラー ls」プログラムのような方式で
       ファイル名をカラー表示します。
        このアプリケーションのために画面の背景色を管理しようと
       すると、様々な理由から満足の行く結果になりませんでした。
        この拡張機能は、カラー xterm (と同様なプログラム) が
       どの ANSI 色とも対応する必要のない背景色を提供すると
       判明してから工夫されました。
        9 つの色を使った特別な terminfo 収録項目 (エントリ) が
       構築される間、curses には関連する orig_pairback_color_erase 機能項目を説明する仕組みがありませんでした。

        assume_default_colors() 関数は別の問題を解決するために
       追加されました。環境変数とその他の構成 
       (コンフィギュレーション) を使うアプリケーションが curses の
       端末のデフォルト色という概念を回避し、特定の値を設定するのを
       サポートするためです。


移植性

        これらのルーチンは ncurses 特有です。
        これらは Version 7, BSD, System V の実装では
       サポートされていません。
        これらのルーチンに依存するすべてのコードは、
       NCURSES_VERSION を使って条件付きとすることを推奨します。

関連項目

       curs_color(3x),  ded(1).


作者

        Thomas  Dickey  (1996年 2月、XFree86 3.1.2C 用の
       カラー xterm への要求に対する分析から)。



                                                     default_colors(3x)