curs_slk(3)

名称
slk_init, slk_set, slk_refresh, slk_noutrefresh, slk_label, slk_clear, slk_restore, slk_touch, slk_attron, slk_attrset, slk_attroff - ncurses soft label routines

書式
#include <ncurses.h> int slk_init(int fmt);
int slk_set(int labnum, char *label, int fmt);
int slk_refresh(void);
int slk_noutrefresh(void);
char *slk_label(int labnum);
int slk_clear(void);
int slk_restore(void);
int slk_touch(void);
int slk_attron(chtype attrs);
int slk_attrset(chtype attrs);
int slk_attroff(chtype attrs);

解説
slk* 関数は、多数の端末に存在するソフトファンクションキーラベルのセットを 操作します。ソフトラベルのない端末の場合、 ncurses が stdscr の下端行を占め、 stdscr および変数 LINES のサイズを減少させます。 ncurses は、それぞれ最高 8 キャラクタの 8 つのラベルを標準化します。 slk_init ルーチンを呼び出してから、 initscr または newterm を呼び出す 必要があります。 initscr がソフトラベルをエミュレートするために stdscr から次第に行を使用していくと、 fmt が、ラベルが画面上でどのように配置されるかを 決定します。 fmt を 0 に設定すると、ラベルは 3-2-3 配置になります。 1 に設定すると、 4-4 配置になります。 slk_set ルーチンの場合、 labnum は 1 から 8 のラベル番号です。 label は、ラベルに設定する長さが最高 8 キャラクタのストリングです。 NULL ストリング または NULL ポインタは、ブランクのラベルをセットアップします。 fmt は 0 、 1 、 または 2 のいずれかで、それぞれラベル内部でラベルが左揃え、中心揃え、または 右揃えであることを示します。 slk_refresh ルーチンと slk_noutrefresh ルーチンは、 wrefresh ルーチンと wnoutrefresh ルーチンに対応します。 slk_label ルーチンは、ラベル番号 labnum の現在のラベルを返します。この 場合、先頭と末尾のブランクは除去されます。 slk_clear ルーチンは、画面からソフトラベルをクリアします。 slk_restore ルーチンは、 slk_clear が実行された後で、ソフトラベルを画面に復元します。 slk_touch ルーチンは、 slk_noutrefresh が次に実行されるときに、すべての ソフトラベルが出力されるようにします。 slk_attron 、 slk_attrset 、および slk_attroff の各ルーチンは、 attron 、 attrset 、および attroff に対応しています。これらが効力を持つのは、 ソフトラベルが画面の下端行でシミュレートされる場合だけです。

戻り値
ルーチンは処理失敗すると整数 ERR を返し、処理が正常に完了すると ERR 以外の整数値を返します。 slk_label はエラーがあると NULL を返します。

注釈
ほとんどのアプリケーションが slk_noutrefresh を使用します。 wrefresh がすぐ続くと考えられるからです。

関連項目
ncurses(3), curs_attr(3), curs_initscr(3), curs_refresh(3)