Copyright (c) 1990, 1995 by Mortice Kern Systems Inc. All Rights Reserved Portions Copyright (c) 1999, Sun Microsystems, Inc. All Rights Reserved
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
cc [ flag... ] file... -I /usr/xpg4/include -L /usr/xpg4/lib \e -R /usr/xpg4/lib -lcurses [ library... ] c89 [ flag... ] file... -lcurses [ library... ] #include <curses.h> int slk_attroff(const chtype attrs);
int slk_attr_off(const attr_t attrs, void *opts);
int slk_attron(const chtype attrs);
int slk_attr_on(const attr_t attrs, void *opts);
int slk_attrset(const chtype attrs);
int slk_attr_set(const attr_t attrs, short color_pair_number, void *opts);
int slk_clear(void);
int slk_color(short color_pair_number);
int slk_init(int fmt);
char *slk_label(int labnum);
int slk_noutrefresh(void);
int slk_refresh(void);
int slk_restore(void);
int slk_set(int labnum, const char *label, int justify);
int slk_touch(void);
int slk_wset(int labnum, const wchar_t *label, int justify);
are the window attributes to be added or removed.
Is reserved for future use. Currently, this must be a null pointer.
Is a color pair.
Is the format of how the labels are arranged on the screen.
Is the number of the soft label.
Is the name to be given to a soft label.
Is a number indicating how to justify the label name.
The Curses interface 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 value of the LINES external variable. There can be up to eight labels of up to eight display columns each.
To use soft labels, slk_init() must be called before calling initscr(3XCURSES), newterm(3XCURSES), or ripoffline(3XCURSES). 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. Other values for fmt are unspecified.
The slk_init() function has the effect of calling ripoffline() to reserve one screen line to accommodate the requested format.
The slk_set() and slk_wset() functions specify the text of soft label number labnum, within the range from 1 to and including 8. The label argument is the string to be put the lable. With slk_set() and slk_wset(), the width of the label is limited to eight columns positions. A null string or a null pointer specifies a blank label. The justify argument can have the following values to indicate how to justify label within the space reserved for it: 0
Align the start of label with the start of the space
Center label within the space
Align the end of label with the end of the space
The slk_refresh() and slk_noutrefresh() functions correspond to the wrefresh(3XCURSES) and wnoutrefresh(3XCURSES) functions.
The slk_label() function obtains soft label number labnum.
The slk_clear() function immediately clears the soft labels from the screen.
The slk_restore() function immediately restores the soft labels to the screen after a call to slk_clear().
The slk_touch() function forces all the soft labels to be output the next time slk_refresh() or slk_noutrefresh() is called.
The slk_attron(), slk_attrset(), and slk_attroff() functions correspond to the attron(3XCURSES), attrset(3XCURSES), and attroff(3XCURSES) functions. They have an effect only if soft labels are stimulated on the bottom line of the screen.
The slk_attr_on(), slk_attr_off(), slk_attr_set() and slk_color() functions correspond to the attr_on(3XCURSES), attr_off(3XCURSES), attr_set(3XCURSES), and color_set(3XCURSES) functions. As a result, they support color and the attribute constants with the WA_ prefix.
The opts argument is reserved for definition in a future release. Currently, the opts argument is a null pointer.
Upon successful completion, the slk_label() function returns the requested label with leading and trailing blanks stripped. Otherwise, it returns a null pointer.
Upon successful completion, the other functions return OK. Otherwise, they return ERR.
No errors are defined.
When using multi-byte character sets, applications should check the width of the string by calling mbstowcs(3C) and then wcswidth(3C) before calling slk_set(). When using wide characters, applications should check the width of the string by calling wcswidth() before calling slk_set().
Since the number of columns that a wide string will occupy is codeset-specific, call wcwidth(3C) and wcswidth(3C) to check the number of column positions in the string before calling slk_wset().
Most applications would use slk_noutrefresh() because a wrefresh() is likely to follow soon.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE ATTRIBUTE VALUE |
Interface Stability Standard |
MT-Level Unsafe |
attr_get(3XCURSES), attroff(3XCURSES), delscreen(3XCURSES), libcurses(3XCURSES), mbstowcs(3C), ripoffline(3XCURSES), wcswidth(3C), wcwidth(3C), attributes(5), standards(5)