4 <STRONG>slk_init</STRONG>, <STRONG>slk_set</STRONG>, <STRONG>slk_refresh</STRONG>, <STRONG>slk_noutrefresh</STRONG>,
5 <STRONG>slk_label</STRONG>, <STRONG>slk_clear</STRONG>, <STRONG>slk_restore</STRONG>, <STRONG>slk_touch</STRONG>, <STRONG>slk_attron</STRONG>,
6 <STRONG>slk_attrset</STRONG>, <STRONG>slk_attroff</STRONG>, <STRONG>slk_color</STRONG> - <STRONG>curses</STRONG> soft label
11 <H2>SYNOPSIS</H2><PRE>
12 <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
14 <STRONG>int</STRONG> <STRONG>slk_init(int</STRONG> <STRONG>fmt);</STRONG>
15 <STRONG>int</STRONG> <STRONG>slk_set(int</STRONG> <STRONG>labnum,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*label,</STRONG> <STRONG>int</STRONG> <STRONG>fmt);</STRONG>
16 <STRONG>int</STRONG> <STRONG>slk_refresh(void);</STRONG>
17 <STRONG>int</STRONG> <STRONG>slk_noutrefresh(void);</STRONG>
18 <STRONG>char</STRONG> <STRONG>*slk_label(int</STRONG> <STRONG>labnum);</STRONG>
19 <STRONG>int</STRONG> <STRONG>slk_clear(void);</STRONG>
20 <STRONG>int</STRONG> <STRONG>slk_restore(void);</STRONG>
21 <STRONG>int</STRONG> <STRONG>slk_touch(void);</STRONG>
22 <STRONG>int</STRONG> <STRONG>slk_attron(const</STRONG> <STRONG>chtype</STRONG> <STRONG>attrs);</STRONG>
23 <STRONG>int</STRONG> <STRONG>slk_attrset(const</STRONG> <STRONG>chtype</STRONG> <STRONG>attrs);</STRONG>
24 <STRONG>attr_t</STRONG> <STRONG>slk_attr(void);</STRONG>
25 <STRONG>int</STRONG> <STRONG>slk_attroff(const</STRONG> <STRONG>chtype</STRONG> <STRONG>attrs);</STRONG>
26 <STRONG>int</STRONG> <STRONG>slk_color(short</STRONG> <STRONG>color_pair_number);</STRONG>
30 <H2>DESCRIPTION</H2><PRE>
31 The slk* functions manipulate the set of soft function-key
32 labels that exist on many terminals. For those terminals
33 that do not have soft labels, <STRONG>curses</STRONG> takes over the bottom
34 line of <STRONG>stdscr</STRONG>, reducing the size of <STRONG>stdscr</STRONG> and the vari-
35 able <STRONG>LINES</STRONG>. <STRONG>curses</STRONG> standardizes on eight labels of up to
36 eight characters each. In addition to this, the ncurses
37 implementation supports a mode where it simulates 12
38 labels of up to five characters each. This is most common
39 for todays PC like enduser devices. Please note that
40 ncurses simulates this mode by taking over up to two lines
41 at the bottom of the screen, it doesn't try to use any
42 hardware support for this mode.
44 The <STRONG>slk_init</STRONG> routine must be called before <STRONG>initscr</STRONG> or
45 <STRONG>newterm</STRONG> is called. If <STRONG>initscr</STRONG> eventually uses a line from
46 <STRONG>stdscr</STRONG> to emulate the soft labels, then <EM>fmt</EM> determines how
47 the labels are arranged on the screen. Setting <EM>fmt</EM> to <STRONG>0</STRONG>
48 indicates a 3-2-3 arrangement of the labels, <STRONG>1</STRONG> indicates a
49 4-4 arrangement and <STRONG>2</STRONG> indicates the PC like 4-4-4 mode. If
50 <STRONG>fmt</STRONG> is set to <STRONG>3</STRONG>, it is again the PC like 4-4-4 mode, but
51 in addition an index line is generated, helping the user
52 to identify the key numbers easily.
54 The <STRONG>slk_set</STRONG> routine requires <EM>labnum</EM> to be a label number,
55 from <STRONG>1</STRONG> to <STRONG>8</STRONG> (resp. <STRONG>12</STRONG>); <EM>label</EM> must be the string to be put
56 on the label, up to eight (resp. five) characters in
57 length. A null string or a null pointer sets up a blank
58 label. <EM>fmt</EM> is either <STRONG>0</STRONG>, <STRONG>1</STRONG>, or <STRONG>2</STRONG>, indicating whether the
59 label is to be left-justified, centered, or right-justi-
60 the <STRONG>wrefresh</STRONG> and <STRONG>wnoutrefresh</STRONG> routines.
62 The <STRONG>slk_label</STRONG> routine returns the current label for label
63 number <EM>labnum</EM>, with leading and trailing blanks stripped.
65 The <STRONG>slk_clear</STRONG> routine clears the soft labels from the
68 The <STRONG>slk_restore</STRONG> routine, restores the soft labels to the
69 screen after a <STRONG>slk_clear</STRONG> has been performed.
71 The <STRONG>slk_touch</STRONG> routine forces all the soft labels to be
72 output the next time a <STRONG>slk_noutrefresh</STRONG> is performed.
74 The <STRONG>slk_attron</STRONG>, <STRONG>slk_attrset</STRONG>, <STRONG>slk_attroff</STRONG> and <STRONG>slk_attr</STRONG> rou-
75 tines correspond to <STRONG>attron</STRONG>, <STRONG>attrset</STRONG>, <STRONG>attroff</STRONG> and <STRONG>attr_get</STRONG>.
76 They have an effect only if soft labels are simulated on
77 the bottom line of the screen. The default highlight for
78 soft keys is A_STANDOUT (as in System V curses, which does
79 not document this fact).
81 The <STRONG>slk_color</STRONG> routine corresponds to <STRONG>color_set</STRONG>. It has an
82 effect only if soft labels are simulated on the bottom
88 <H2>RETURN VALUE</H2><PRE>
89 These routines return <STRONG>ERR</STRONG> upon failure and OK (SVr4 speci-
90 fies only "an integer value other than <STRONG>ERR</STRONG>") upon success-
91 ful completion. <STRONG>slk_attr</STRONG> returns the attribute used for
94 <STRONG>slk_label</STRONG> returns <STRONG>NULL</STRONG> on error.
99 Most applications would use <STRONG>slk_noutrefresh</STRONG> because a <STRONG>wre-</STRONG>
100 <STRONG>fresh</STRONG> is likely to follow soon.
104 <H2>PORTABILITY</H2><PRE>
105 The XSI Curses standard, Issue 4, describes these func-
106 tions. It changes the argument type of the attribute-
107 manipulation functions <STRONG>slk_attron</STRONG>, <STRONG>slk_attroff</STRONG>,
108 <STRONG>slk_attrset</STRONG> to be <STRONG>attr_t</STRONG>, and adds <STRONG>const</STRONG> qualifiers. The
109 format codes <STRONG>2</STRONG> and <STRONG>3</STRONG> for <STRONG>slk_init()</STRONG> and the function
110 <STRONG>slk_attr</STRONG> are specific to ncurses.
114 <H2>SEE ALSO</H2><PRE>
115 <STRONG><A HREF="ncurses.3x.html">curses(3X)</A></STRONG>, <STRONG><A HREF="curs_attr.3x.html">curs_attr(3X)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3X)</A></STRONG>,
116 <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3X)</A></STRONG>