
stty
----

 KOMMANDO:
    stty [<typ>]
    stty reset

 ARGUMENTE:

     <typ>
        Terminaltyp: `dumb', `vt100' oder `ansi'

 BESCHREIBUNG:
    Mit diesem Kommando kannst Du einstellen, an was fuer einem Terminal Du
    sitzt. Folgende Typen werden momentan unterstuetzt:

     `ansi'    das Terminal versteht Farbcodes und Hervorhebungen wie
               Fettschrift
     `vt100'   das Terminal ist einfarbig, kennt aber Fettschrift u.ae.
     `dumb'    das Terminal versteht keine Hervorhebungen

    Der Terminaltyp wird u.a. bei Kommandos wie "wer" benutzt um bestimmte
    Woerter oder Phrasen hervorzuheben.

    Nach dem Einstellen des Terminaltyp sollte bei `vt100' und `ansi' eine
    Ausgabe erfolgen, welche die moeglichen Textattribute oder Farben
    darstellt. Bei ANSI wird das Ganze von einem lesbaren Text gefolgt. Sollte
    also der folgende Satz

    Sollte dieser Text hier nicht richtig lesbar sein, benutze
    das Kommando stty reset!

    nicht erscheinen oder nur schwer lesbar sein, sollte man mit stty reset
    die Farben wiederherstellen oder ein anderes Terminal einstellen.

 ACHTUNG:
    Manche Terminals sind u.U. nicht ganz ANSI kompatibel, was dazu fuehrt,
    dass die Farbe nicht ausgeschaltet wird. Sollte soetwas passieren bitte
    das Kommando stty reset benutzen, welches einen weissen Hintergrund und
    schwarzen Vordergrund einstellt.

 LETZTE AeNDERUNG:
    Thu, 24.07.1997, 09:00:00 von Wargon
