slk_attroff(3X) slk_attroff(3X)
NAME
slkattroff, slkattroff, slkattron, slkattron, slkattrset,
slkattrset, slkclear, slkcolor, slkinit, slklabel,
slknoutrefresh, slkrefresh, slkrestore, slkset, slktouch,
slkwset - SLK-Funktionen
SYNTAX
cc [flag ...] file ... -lcurses [library ...]
#include <curses.h>
int slkattroff(const chtype attrs);
int slkattroff(const attrt attrs, void *opts);
int slkattron(const chtype attrs);
int slkattron(const attrt attrs, void *opts);
int slkattrset(const chtype attrs);
int slkattrset(const attrt attrs, short colorpairnumber, void *opts);
int slkclear(void);
int slkcolor(short colorpairnumber);
int slkinit(int fmt);
char *slklabel(int labnum);
int slknoutrefresh(void);
int slkrefresh(void);
int slkrestore(void);
int slkset(int labnum, const char *label, int justify);
int slktouch(void);
int slkwset(int labnum, const wchart *label, int justify);
BESCHREIBUNG
Die Curses-Schnittstelle bearbeitet SLKs (Soft-Labeled Keys - nicht
festverdrahtete Funktionstasten), über die viele Terminals verfügen.
Bei Terminals, die keine SLKs haben, übernimmt Curses die unterste
Zeile des Standardbildschirms stdscr und reduziert dadurch die Größe
von stdscr sowie den Wert der externen Variablen LINES. Es können bis
zu acht SLKs aus jeweils bis zu acht Anzeigespalten vorliegen.
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98
slk_attroff(3X) slk_attroff(3X)
Zur Verwendung der SLKs muß die Funktion slkinit() vor initscr(),
newterm() oder ripoffline() aufgerufen werden. Wenn initscr() im spä-
teren Verlauf eine Zeile aus stdscr zum Emulieren der SLKs verwendet,
wird mit fmt festgelegt, wie die SLKs auf dem Bildschirm angeordnet
werden. Wird fmt auf 0 gesetzt, entspricht dies einer 3-2-3-Anordnung
und die Angabe von 1 entspricht einer 4-4-Anordnung. Andere Werte für
fmt sind nicht definiert.
Die Funktion slkinit() entspricht einem Aufruf von ripoffline(),
durch den eine Bildschirmzeile für die Aufname des angeforderten For-
mats reserviert wird.
Mit den Funktionen slkset() und slkwset() wird die SLK-Nummer labnum
angegeben, die zwischen 1 und einschließlich 8 liegt. Das Argument
label ist der String, die der SLK zugeordnet wird. Mit slkset() und
slkwset() ist die Breite einer SLK auf acht Spaltenpositionen
beschränkt. Ein Null-String oder ein Null-Zeiger definiert eine leere
SLK. Das Argument justify kann die folgenden Werte zur Angabe der Aus-
richtung von label innerhalb des für die SLKs reservierten Bereichs
haben:
0 Der Anfang des Strings label wird am Anfang des Bereichs (links-
bündig) ausgerichtet
1 Der String label wird im Bereich zentriert
2 Das Ende des Strings label wird am Ende des Bereichs (rechtsbün-
dig) ausgerichtet.
Die Funktionen slkrefresh() und slknoutrefresh() entsprechen den
Funktionen wrefresh() und wnoutrefresh().
Die Funktion slklabel() ruft die SLK-Nummer labnum ab.
Die Funktion slkclear() löscht die SLKs direkt vom Bildschirm.
Die Funktion slkrestore() stellt die SLKs nach einem Aufruf von
slkclear() direkt auf dem Bildschirm wieder her.
Die Funktion slktouch() erzwingt die Ausgabe aller SLKs beim nächsten
Aufruf von slknoutrefresh() oder slkrefresh().
Die Funktionen slkattron(), slkattrset() und slkattroff() entspre-
chen den Funktionen attron(), attrset() und attroff(). Sie wirken sich
nur dann aus, wenn in der untersten Zeile des Bildschirms SLKs simu-
liert werden.
Die Funktionen slkattroff(), slkattron(), slkattrset() und
slkcolor() entsprechen den Funktionen slkattroff(), slkattrond(),
slkattrset() und colorset() und unterstützen somit die Attributkon-
stanten mit dem Präfix WA und die Farbe.
Seite 2 Reliant UNIX 5.44 Gedruckt 11/98
slk_attroff(3X) slk_attroff(3X)
Das Argument opts wird in einer späteren Ausgabe der vorliegenden
Handbuchseite (Man Page) definiert. Derzeit muß die Anwendung für opts
einen Null-Zeiger angeben.
RÜCKGABEWERT
Die Funktion slklabel() gibt nach erfolgreicher Ausführung den ange-
forderten SLK-String zurück, und zwar ohne führende und nachfolgende
Leerzeichen. Andernfalls gibt die Funktion einen Null-Zeiger zurück.
Die anderen Funktionen geben nach erfolgreicher Ausführung den Wert OK
zurück. Andernfalls wird ERR zurückgegeben.
FEHLER
Es sind keine Fehlerzuordnungen definiert.
HINWEISE
Bei Verwendung von Mehrbytezeichensätzen sollte die Anwendung die
Breite des Strings durch Aufrufen der beiden Funktionen mbstowcs() und
wcswidth() ermitteln, bevor slkset() aufgerufen wird. Bei Verwendung
von Wide-Characters sollte die Anwendung die Breite des Strings durch
Aufrufen der Funktion wcswidth() ermitteln, bevor slkset() aufgerufen
wird.
Da die von einem Wide-Character-String belegte Spaltenanzahl vom
jeweiligen codierten Zeichensatz abhängig ist, sollten Sie vor dem
Aufrufen von slkwset() die Funktionen wcwidth() und wcswidth() aufru-
fen, um die Anzahl der Spaltenpositionen im String zu überprüfen.
Die meisten Anwendungen würden die Funktion slknoutrefresh() verwen-
den, da davon ausgegangen werden kann, daß kurz darauf ein wrefresh()
folgt.
SIEHE AUCH
mbstowcs(3C), wcswidth(3C), attrget(3X), attroff(3X), curses(3X),
delscreen(3X), ripoffline(3X), stdscr(3X), curses(5).
Seite 3 Reliant UNIX 5.44 Gedruckt 11/98