curs_termattrs(3x) curs_termattrs(3x)
baudrate, erasechar, erasewchar, has_ic, has_il, killchar, killwchar, longname, term_attrs, termattrs, termname - curses 環境問い合わせルーチン
#include <curses.h> int baudrate(void); char erasechar(void); int erasewchar(wchar_t *ch); bool has_ic(void); bool has_il(void); char killchar(void); int killwchar(wchar_t *ch); char *longname(void); attr_t term_attrs(void); chtype termattrs(void); char *termname(void);
baudrate ルーチンは端末の出力速度を返します。 戻り値は毎秒のビット数で、例えば 9600 のように整数です。
erasechar ルーチンは現在の消去用文字を返します。 erasewchar ルーチンは ch が指す場所に現在の消去用文字を 格納します。 消去用文字が定義されていなければ、ルーチンは失敗し、 ch が指す場所は変化しません。
端末が文字の挿入/削除機能を持っている場合、 has_ic ルーチンは真 (true) になります。 端末が行の挿入/削除機能を持っているか、スクロール領域を 使ってこれらをシミュレートできる場合、 has_il ルーチンは 真 (true) になります。 これは scrollok を使って物理スクロールを有効にすることが 妥当かどうかを決めるために使われることがあります。
killchar ルーチンは現在の行削除文字を返します。 killwchar ルーチンは ch が指す場所に現在の行削除文字を 格納します。 行削除文字が定義されていなければ、ルーチンは失敗し、 ch が指す場所は変化しません。
longname ルーチンは、現在の端末の長い記述を含む 静的 (スタティック) な領域へのポインタを返します。 長い記述の最大長は 128 文字です。 これは initscr または newterm を呼び出した後にのみ 定義されます。 この領域は newterm が呼び出されるたびに上書きされ、 set_term で復元されないので、複数の端末に対して longname を 使う場合は newterm 呼び出しから次の newterm 呼び出しまでの間に 値を保存しなければなりません。
アプリケーションで使おうとした表示属性を与えられた端末が サポートしない場合、 curses は違う表示属性で代替することが あります。 termattrs と term_attrs 関数は、それぞれ A_ 定数と WA_ 定数を使った表示属性のうち、端末でサポートしているもの すべての論理和 (OR) を返します。 この情報は curses プログラムが画面の外観の完全な制御を 必要とする場合に有用です。
termname ルーチンは setupterm で使われる端末名を返します。
longname と termname はエラーのとき NULL を返します。 整数を返すルーチンは、失敗のとき ERR を、正常終了のとき OK ( SVr4 は「 ERR 以外の整数値」としか指定していません) を 返します。
termattrs はマクロであるかもしれないことに注意してください。
これらの関数は XSI Curses standard, Issue 4 に 記載されています。 そこでは termattrs の返す型が新しい型 attr_t に変わりました。 (訳注: term_attrs か) curses の多くのバージョンでは、 termname の返す結果は 14文字に切り詰められます。
curses(3x), curs_initscr(3x), curs_outopts(3x) curs_termattrs(3x)