|
|
#include <curses.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);
curses(S) manipulates the set of soft function-key labels that exist on many terminals. For those terminals that do not have soft labels, curses( ) takes over the bottom line of stdscr, reducing the size of stdscr; and the variable LINES. curses( ) standardizes on eight labels of up to eight characters each.
To use soft labels, the slk_init(S) routine must be called before initscr(S) or newterm(S) is called. If initscr( ) eventually uses a line from stdscr to emulate the soft labels, then fmt determines how the labels are arranged on the screen. Setting fmt to 0 indicates a 3-2-3 arrangement of the labels; 1 indicates a 4-4 arrangement.
With the slk_set(S) routine, labnum is the label number, from 1 to 8. label is the string to be put on the label, up to eight characters in length. A null string or a null pointer sets up a blank label. fmt is either 0, 1, or 2, indicating whether the label is to be left-justified, centered, or right-justified, respectively, within the label.
The slk_refresh(S) and slk_noutrefresh(S) routines correspond to the wrefresh(S) and wnoutrefresh(S) routines. That is, slk_noutrefresh( ) copies the labels to a virtual screen; and slk_refresh( ) compares that to the physical screen and updates the physical screen if necessary.
The slk_label(S) routine returns the current label for label number labnum, with leading and trailing blanks stripped.
The slk_clear(S) routine clears the soft labels from the screen.
The slk_restore(S) routine restores the soft labels to the screen after a slk_clear( ).
With the slk_touch(S) routine, all the soft labels are forced to be output the next time a slk_noutrefresh( ) is done.
The slk_attron(S), slk_attrset(S) and slk_attroff(S) routines correspond to attron(S), attrset(S), and attroff(S). They have an effect only if soft labels are simulated on the bottom line of the screen.
slk_label( ) returns NULL on error.
Most applications use slk_noutrefresh( ) because a wrefresh( ) is likely to follow soon.