tail head cat sleep
QR code linking to this page

manページ  — curs_outopts

名称

clearok, idlok, idcok immedok, leaveok, setscrreg, wsetscrreg, scrollok, nl, nonl - ncurses output options

内容

書式

#include <ncurses.h>

int clearok(WINDOW *win, bool bf);
int idlok(WINDOW *win, bool bf);
void idcok(WINDOW *win, bool bf);
void immedok(WINDOW *win, bool bf);
int leaveok(WINDOW *win, bool bf);
int setscrreg(int top, int bot);
int wsetscrreg(WINDOW *win, int top, int bot);
int scrollok(WINDOW *win, bool bf);
int nl(void);
int nonl(void);

解説

このルーチンでは、 ncurses の出力のスタイルを変更するオプションを 設定します。すべてのオプションは、特記しないかぎり、最初は FALSE になっています。このオプションをオフに切り替えてから endwin を呼び出す必要はありません。

clearok ルーチンを有効にすると (bfTRUE にすると ) 、次にこの ウィンドウで wrefresh を呼び出した場合、画面は完全にクリアされ、画面全体が 最初から再描画されます。画面の内容が不確実であるか、より良い視覚効果を出す 場合に便利です。 clearok の引数 win がグローバル変数 curscr である場合、次に任意のウィンドウで wrefresh を呼び出すと、画面がクリアされて最初から再描画されます。

idlok ルーチンを有効にすると (bfTRUE にすると ) 、 ncurses は、 端末の行挿入 / 削除機能を備わっているものとして使用します。無効にすると (bfFALSE にすると ) 、 ncurses はこの機能をほとんど使用しません。 ( 文字の挿入 / 削除機能は常に考慮されます。 ) たとえば画面エディタなど、行の挿入 / 削除が 必要なアプリケーションのみで、このオプションを有効にしてください。行の挿入 / 削除が本当に必要でないアプリケーションでは、行の挿入 / 削除が見た目を害する 傾向にあるので、デフォルトでは無効になっています。行の挿入 / 削除機能が 使用できない場合、 ncurses は、すべての行の変更された部分を再描画します。

idcok ルーチンを有効にすると (bfTRUE にすると ) 、 ncurses は、端末のキャラクタ挿入 / 削除機能を備わっているものとして使用します。デフォルト では有効になっています。

immedok ルーチンを有効にすると (bfTRUE にすると ) 、 waddch 、 wclrtobot 、 wscrl などでウィンドウのイメージが変更された場合、 wrefresh が 自動的に呼び出されます。 wrefresh が繰り返し呼び出されるので、パフォーマンス は大幅に低下します。デフォルトでは無効になっています。

通常の場合、ハードウェアカーソルは、リフレッシュされた ウィンドウカーソルの場所に残ります。 leaveok オプションでは、更新したときの 場所にカーソルを残せます。カーソルの移動が必要なくなるため、カーソルを 使用しないアプリケーションで便利です。このオプションを有効にすると、可能な 場合はカーソルを非表示にできます。

setscrreg ルーチンと wsetscrreg ルーチンを使用すると、 アプリケーションプログラマは、ウィンドウでソフトウェアスクローリング領域を 設定できます。 topbot は、スクローリング領域の上下マージンの行番号です。 ( ウィンドウの最初の行は 0 です。 ) このオプションと scrollok を有効にした 場合は、下マージンの行の先へ移動しようとすると、 スクローリング領域のすべての行は 1 行上にスクロールされます。スクロール されるのは、ウィンドウのテキストのみです。 (VT100 のような、端末の物理的な スクローリング領域機能の使用とは関係ないことに注意してください。 idlok を有効にすると、端末にスクローリング領域機能か行の挿入 / 削除機能がある場合は、 出力ルーチンでこれらの機能が使用されることがあります。 )

scrollok オプションは、最終行での改行アクション、または最終行での 最終キャラクタの入力により、ウィンドウのカーソルがウィンドウか スクローリング領域の端を越えた場合の対処法を制御します。無効にすると (bfFALSE にすると ) 、カーソルは最終行に残ります。有効にすると (bfTRUE にすると ) 、 wrefresh がウィンドウで呼び出され、物理的な端末とウィンドウは 1 行上にスクロールされます。 [ 端末で物理的なスクロール効果を出すには、 idlok も呼び出す必要があることに注意してください。 ]

nl ルーチンと nonl ルーチンは、出力時に改行をキャリッジリターンと ラインフィードに変換するかどうか、および入力時にリターンを改行に 変換するかどうかを制御します。最初は変換が行なわれます。 nonl で変換を無効にすると、 ncurses はラインフィード機能をより良く使用できるようになり、 カーソルの動きが速くなります。

戻り値

setscrregwsetscrreg は、問題がないと OK を、問題があると ERR を戻します。整数を返す、その他すべてのルーチンは、常に OK を戻します。

バグ

エントリポイント idcokimmedok は、 ncurses 1.8.6 ではまだ 実装されていません。 idlok を設定すると、ウィンドウのスクロール時に予期せぬ結果となります。

注釈

clearokleaveokscrollokidcoknlnonlsetscrreg は、マクロである場合があることに注意してください。

immedok ルーチンは、端末エミュレータとして使用するウィンドウで 便利です。

関連項目

ncurses(3), curs_addch(3), curs_clear(3), curs_initscr(3) [英語], curs_scroll(3), curs_refresh(3)


curs_outopts (3)

tail head cat sleep
QR code linking to this page


このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.

"I liken starting one's computing career with Unix, say as an undergraduate, to being born in East Africa. It is intolerably hot, your body is covered with lice and flies, you are malnourished and you suffer from numerous curable diseases. But, as far as young East Africans can tell, this is simply the natural condition and they live within it. By the time they find out differently, it is too late. They already think that the writing of shell scripts is a natural act."
— Ken Pier, Xerox PARC