ソフト・ラベルの操作
curses は、ソフト・ファンクション・キー・ラベルを操作するためのサブルーチンを提供します。
これらのラベルは、スクリーンのボトムに表示され、エディターなどのアプリケーションを使いやすくします。 ソフト・ラベルを使用するには、slk_init サブルーチンを呼び出してから、initscr または newterm サブルーチンを呼び出す必要があります。
サブルーチン | 説明 |
---|---|
slk_clear | スクリーンからソフト・ラベルをクリアします。 |
slk_init | ソフト・ファンクション・キー・ラベルを初期化します。 |
slk_label | 現在のラベルを戻します。 |
slk_noutrefresh | ソフト・ラベルをリフレッシュします。 このサブルーチンは wnoutrefresh サブルーチンと機能的に等価です。 |
slk_refresh | ソフト・ラベルをリフレッシュします。 このサブルーチンは refresh サブルーチンと機能的に等価です。 |
slk_restore | slk_clear サブルーチンへのコールの後に、 ソフト・ラベルをスクリーンに復元します。 |
slk_set | ソフト・ラベルを設定します。 |
slk_touch | slk_noutrefresh サブルーチンに対する次のコールで、ソフト・ラベルを更新します。 |
ソフト・ラベルを管理するために、curses は stdscr のサイズを 1 行削減します。 この行は、ソフト・ラベル関数で使用するために予約されます。 この予約は、LINES 環境変数の値も削減されることを意味します。 多くの端末は、組み込まれたソフト・ラベルをサポートしています。 組み込まれたソフト・ラベルがサポートされている場合、curses はそれらのラベルを使用します。 それ以外の場合、curses はソフトウェアを使用してソフト・ラベルをシミュレートします。
ソフト・ラベルをサポートする多くの端末は、8 つのラベルを持っているので、curses は同じ標準に従います。 ラベル文字列は 8 文字に制限されます。 curses はラベルを以下の 2 つのパターンのいずれかを使用して並べます。 3-2-3 (左 3、中央 2、右 3) または 4-4 (左 4、右 4)。
特定のラベルの文字列を指定するには、slk_set サブルーチンを呼び出します。 このサブルーチンは、ラベル上で文字列を左揃え、右揃え、 または中央揃えにするかどうかについても、curses に指示します。 ラベル名を、slk_set サブルーチンによって位置調整する前に入手するには、slk_label サブルーチンを使用します。 slk_clear および slk_restore サブルーチンはそれぞれ、ソフト・ラベルをクリアおよび復元します。 通常、ソフト・ラベルを更新するために、ユーザーのプログラムはラベルごとに slk_noutrefresh サブルーチンを呼び出してから、slk_refresh サブルーチンを 1 回呼び出して、実際の出力を実行する必要があります。 slk_noutrefresh サブルーチンに対する次のコールですべてのソフト・ラベルを出力するには、slk_touch サブルーチンを使用します。