Provided by: manpages-pl_20060617-1_all bug

NAZWA

       terminfo - baza właściwości terminala

SKŁADNIA

       /usr/share/terminfo/*/*

OPIS

       Terminfo  jes  bazą danych, opisującą terminale, używaną przez programy
       obsługujące ekran, takie jak nvi(1), rogue(1) i biblioteki  takie,  jak
       curses(3X).   Terminfo  opisuje  terminale  przez podawanie zestawu ich
       właściwości, opisując jak  wykonywać  operacje  ekranowe  oraz  podając
       wymagania wypełniania i sekwencje inicjalizacji.

       Wpisy   w   terminfo   składają  się  z  sekwencji  pól,  rozdzielonych
       przecinkami (osadzane przecinki można cytować  lewymi  ukośnikami,  lub
       zapisywać  jako  \072).  Białe spacje po separatorze `,' są ignorowane.
       Pierwszy wpis każdego terminala podaje nazwy, pod  którymi  znany  jest
       terminal,   rozdzielone   znakami  `|'.   Pierwsza  podana  nazwa  jest
       najpopularniejszym skrótem  terminala,  a  ostatnia  nazwa  jest  długą
       nazwą,   w   pełni   identyfikującą   terminal.   Wszystkie   nazwy  są
       synonimiczne. Wszystkie nazwy poza ostatnią powinny być  pisane  małymi
       literami  i  nie  zawierać  spacji; ostatnia nazwa może je zawierać dla
       czytelności.

       Nazwy  terminali  (poza  ostatnim,  gadatliwym  wpisem)   powinny   być
       wybierane  wg.   następujących  konwencji:  Sprzęt, który składa się na
       terminal, powinien tworzyć korzeń nazwy, stąd ``hp2621''. Nazwa ta  nie
       powinna  zawierać  myślników. Tryby,w których sprzęt może się znajdować
       powinny być wskazywane przez dodanie myślnika i przyrostka  trybu.  Tak
       więc  vt100 w 132 kolumnowym trybie to vt100-w.  Następujące przyrostki
       powinny być używane tam gdzie to możliwe:

       Przyrostek                     Znaczenie                      przykład
       -nn          Liczba wierszy ekranu                            aaa-60
       -np          Liczba stron pamięci                             c100-4p
       -am          Z automarginesami (zwykle domyślne)              vt100-am
       -m           Tryb mono; powstrzymuje kolor                    ansi-m
       -mc          Magiczne ciasteczko; spacje przy podświetlaniu   wy30-mc
       -na          Brak klawiszy strzałek (zostaw je w lokalnym)    c100-na
       -nam         Bez automatycznych marginesów                    vt100-nam
       -nl          Bez linii statusu                                att4415-nl
       -ns          Bez linii statusu                                hp2626-ns
       -rv          Odwrócone kolory                                 c100-rv
       -s           Włącza linię statusu                             vt100-s
       -vb          Używa wizualnego dzwonka zamiast audio           wy370-vb
       -w           Szeroki tryb (> 80 kolumn, zwykle 132)           vt100-w

       Dla  dalszych  informacji  o  konwencjach  nazywania,  poczytaj  stronę
       term(7).

   Właściwości
       Poniżej  znajduje  się kompletna liczba właściwości załączanych w bloku
       opisu terminfo i dostępnych dla  kodu,  korzystającego  z  terminfo.  W
       każdej linii tabeli

       Zmienna  jest  nazwą,  poprzez którą programista (na poziomie terminfo)
       dostaje się do właściwości.

       Nazwawłaściwości jest krótką nazwą, używaną w tekście  bazy  danych,  a
       korzysta   z   niej   osoba  aktualizująca  bazę.   Jeśli  to  możliwe,
       nazwywłaściwości są wybierane w standardzie (przynajmniej zbliżonym do)
       ANSI   X3.64-1979   (który   jest   obecnie  wypierany  przez  ECMA-48,
       używającego jednak podobnych nazw). Semantyka  powinna  też  odpowiadać
       specyfikacji.

       Kod  termcap jest starą nazwą właściwości termcap (niektóre własciwości
       są nowe i mają nazwy nie pochodzące z termcap).

       Nazwy właściwości nie mają sztywnego  limitu  długości,  lecz  przyjęto
       nieformalny  limit  5  znakowy,  który zachowuje je w zwartej postaci i
       umożliwia tabulacjom w pliku Caps ładne zawijanie.

       Na koniec, pole opisu próbuje przenieść semantykę właściwości.  W  polu
       opisu możesz znaleźć pewne kody:

       (P)    określa, że można podać wypełnianie (padding)

       #[1-9] w polu opisu określa, że łańcuch jest przekazywany przez tparm z
              określonymi  parametrami  (#i).  (patrz  lib_tparm.c  z  pakietu
              ncurses--przyp. tłum.)

       (P*)   określa,  że  wypełnianie może różnić się w zależności do liczby
              objętych nim linii.

       (#i)   określa ity parametr.

       Oto właściwości logiczne:

               Zmienna               Nazwa-     Kod               Opis
               Booleans              właść.     Tcap
       auto_left_margin              bw         bw        cub1 zawija z
                                                          kolumny 0 na
                                                          ostatnią
       auto_right_margin             am         am        terminal ma
                                                          marginesy
                                                          automatyczne
       back_color_erase              bce        ut        ekran jest
                                                          czyszczony kolorem
                                                          tła
       can_change                    ccc        cc        terminal może
                                                          redefiniować
                                                          istniejące kolory
       ceol_standout_glitch          xhp        xs        tryb wyróżniony nie
                                                          kasowany przez
                                                          nadpisywanie (hp)
       col_addr_glitch               xhpa       YA        jedynie ruchy
                                                          dodatnie dla
                                                          właściwości hpa/mhpa
       cpi_changes_res               cpix       YF        zmienianie natężenia
                                                          (pitch) znaku
                                                          zmienia
                                                          rozdzielczość
       cr_cancels_micro_mode         crxm       YB        używanie cr wyłącza
                                                          tryb micro
       dest_tabs_magic_smso          xt         xt        tabulacje
                                                          destruktywne,
                                                          magiczny znak so
                                                          (t1061)
       eat_newline_glitch            xenl       xn        nowa linia jest
                                                          ignorowana po 80
                                                          kolumnach
       erase_overstrike              eo         eo        spacją można kasować
                                                          nadstuknięcia
                                                          (overstrikes)

       generic_type                  gn         gn        podstawowy rodzaj
                                                          linii
       hard_copy                     hc         hc        terminal hardcopy
       hard_cursor                   chts       HC        kursor jest trudny
                                                          do zobaczenia
       has_meta_key                  km         km        ma klawisz meta
                                                          (ustawia bit
                                                          parzystości)
       has_print_wheel               daisy      YC        drukarka wymaga do
                                                          zmiany zestawu
                                                          znaków operatora
       has_status_line               hs         hs        ma dodatkową linię
                                                          statusu
       hue_lightness_saturation      hls        hl        terminal używa tylko
                                                          notacji HLS kolorów
                                                          (Tektronix)
       insert_null_glitch            in         in        tryb wstawiania
                                                          (insert) rozróżnia
                                                          zera (nulls)
       lpi_changes_res               lpix       YG        zmienianie natężenia
                                                          (pitch) linii
                                                          zmienia
                                                          rozdzielczość
       memory_above                  da         da        wyświetlacz może być
                                                          zachowywany ponad
                                                          ekranem
       memory_below                  db         db        wyświetlacz może być
                                                          zachowywany pod
                                                          ekranem
       move_insert_mode              mir        mi        w trybie wstawiania
                                                          można się
                                                          bezpiecznie poruszać
       move_standout_mode            msgr       ms        w trybie wyróżnienia
                                                          można się
                                                          bezpiecznie poruszać
       needs_xon_xoff                nxon       nx        wypełnianie nie
                                                          zadziała, potrzeba
                                                          xon/xoff
       no_esc_ctlc                   xsb        xb        ul ([terminal]
                                                          beehive) (f1=escape,
                                                          f2=ctrl C)
       no_pad_char                   npc        NP        znak dopełniania nie
                                                          istnieje
       non_dest_scroll_region        ndscr      ND        przewijanie regionu
                                                          nie jest
                                                          destruktywne
       non_rev_rmcup                 nrrmc      NR        smcup nie odwraca
                                                          rmcup
       over_strike                   os         os        terminal może
                                                          nadstukiwać
       prtr_silent                   mc5i       5i        drukarka nie daje
                                                          echa na ekran
       row_addr_glitch               xvpa       YD        daje tylko dodatnie
                                                          ruchy dla właść.
                                                          vpa/mvpa
       semi_auto_right_margin        sam        YE        drukowanie ostatniej
                                                          kolumny powoduje cr
       status_line_esc_ok            eslok      es        w linii statusu
                                                          można używać escape
       tilde_glitch                  hz         hz        nie można drukować
                                                          znaków ~
       transparent_underline         ul         ul        podkreślony znak
                                                          nadstukuje

       xon_xoff                      xon        xo        terminal używa
                                                          potwierdzania
                                                          xon/xoff

       A oto właściwości numeryczne:

             Zmienna             Nazwa-       Kod                 Opis
           numeryczna            właść.       tcap
       columns                   cols         co          liczba kolumn w
                                                          linii
       init_tabs                 it           it          początkowo tabulacje
                                                          co # spacji
       label_height              lh           lh          wiersze w każdej
                                                          etykiecie
       label_width               lw           lw          kolumny w każdej
                                                          etykiecie
       lines                     lines        li          liczba linii na
                                                          ekranie lub stronie
       lines_of_memory           lm           lm          linie pamięci w
                                                          wypadku gdy > linii
                                                          ekranu. 0 => różni
                                                          się
       magic_cookie_glitch       xmc          sg          liczba spacji,
                                                          pozostawianych przez
                                                          smso lub rmso
       max_attributes            ma           ma          maksymalna liczba
                                                          połączonych
                                                          atrybutów, które
                                                          obsługuje terminal
       max_colors                colors       Co          maksymalna liczba
                                                          kolorów na ekranie
       max_pairs                 pairs        pa          maksymalna liczba
                                                          par kolorów na
                                                          ekranie
       maximum_windows           wnum         MW          maksymalna liczna
                                                          definiowalnych okien
       no_color_video            ncv          NC          atrybuty wideo,
                                                          których nie można
                                                          używać z kolorami
       num_labels                nlab         Nl          liczba etykiet na
                                                          ekranie
       padding_baud_rate         pb           pb          najniższa szybkość
                                                          przesyłu (baud rate)
                                                          gdy wymagane jest
                                                          wypełnianie
                                                          (padding).
       virtual_terminal          vt           vt          liczba terminali
                                                          wirtualnych
                                                          (CB/unix)
       width_status_line         wsl          ws          liczba kolumn w
                                                          linii statusu

       W  strukturze  term  SVr4.0  istnieją   też   następujące   właściwości
       numeryczne,  lecz  nie  są  one  jeszcze  udokumentowane w podręczniku.
       Pochodzą one z SVr4-tego wsparcia dla drukarki.

             Zmienna              Nazwa-       Kod                Opis
            Numeryczna            właść        Tcap
       bit_image_entwining        bitwin       Yo         liczba przejść
                                                          (passes) dla każdego
                                                          wiersza obrazu
                                                          bitowego

       bit_image_type             bitype       Yp         rodzaj urządzenia
                                                          obrazu bitowego
       buffer_capacity            bufsz        Ya         licza bajtów
                                                          buforowanych przed
                                                          drukowaniem
       buttons                    btns         BT         liczba przycisków
                                                          myszy
       dot_horz_spacing           spinh        Yc         odstępy poprzeczne
                                                          punktów wyrażone w
                                                          punktach na cal
                                                          (DPI)
       dot_vert_spacing           spinv        Yb         odstępy pionowe
                                                          igieł (pins) w
                                                          igłach na cal
       max_micro_address          maddr        Yd         maksymalna wartość w
                                                          micro_..._address
       max_micro_jump             mjump        Ye         maksymalna wartość w
                                                          parm_..._micro
       micro_col_size             mcs          Yf         rozmiar kroku
                                                          znakowego w trybie
                                                          micro mode
       micro_line_size            mls          Yg         rozmiar kroku
                                                          liniowego w trybie
                                                          micro mode
       number_of_pins             npins        Yh         liczba igieł w
                                                          głowicy drukującej
                                                          (print-head)
       output_res_char            orc          Yi         rozdzielczość
                                                          poprzeczna w
                                                          jednostkach na linię
       output_res_horz_inch       orhi         Yk         rozdzielczość
                                                          poprzeczna w
                                                          jednostkach na cal
       output_res_line            orl          Yj         rozdzielczość
                                                          pionowa w
                                                          jednostkach na linię
       output_res_vert_inch       orvi         Yl         rozdzielczość
                                                          pionowa w
                                                          jednostkach na cal
       print_rate                 cps          Ym         wydrukuj szybkość
                                                          przesyłu w znakach
                                                          na sekundę
       wide_char_size             widcs        Yn         rozmiar kroku znaku
                                                          w trybie podwojonej
                                                          szerokości

       A oto właściwości napisowe:

                Zmienna              Nazwa-     Kod               Opis
               Napisowa              właść.     Tcap
       acs_chars                     acsc       ac        graficzne pary
                                                          zestawu znaków,
                                                          oparte o vt100
       back_tab                      cbt        bt        wsteczna tabulacja
                                                          (P)
       bell                          bel        bl        sygnał audiofoniczny
                                                          (dzwonek) (P)
       carriage_return               cr         cr        powrót karetki (P*)
                                                          (P*)
       change_char_pitch             cpi        ZA        Zmień liczbę znaków
                                                          na cal
       change_line_pitch             lpi        ZB        Zmień liczbę linii
                                                          na cal

       change_res_horz               chr        ZC        Zmień rozdzielczość
                                                          poprzeczną
       change_res_vert               cvr        ZD        Zmień rozdzielczość
                                                          pionową
       change_scroll_region          csr        cs        zmień region na
                                                          linię #1 do linii #2
                                                          (P)
       char_padding                  rmp        rP        podobne do ip, lecz
                                                          w trybie wstawiania
                                                          (insert)
       clear_all_tabs                tbc        ct        czyść wszystkie
                                                          tabulatory (tab
                                                          stops) (P)
       clear_margins                 mgc        MC        czyść wszystkie
                                                          miękkie lewe i prawe
                                                          marginesy
       clear_screen                  clear      cl        czyść ekran i
                                                          wyzeruj kursor (home
                                                          cursor) (P*)
       clr_bol                       el1        cb        wyczyść początek
                                                          linii
       clr_eol                       el         ce        wyczyść do końca
                                                          linii (P)
       clr_eos                       ed         cd        wyczyść do końca
                                                          ekranu (P*)
       column_address                hpa        ch        pozycja pozioma #1
                                                          (P)
       command_character             cmdch      CC        ustawialny w
                                                          prototypie znak cmd
                                                          terminala !?
       create_window                 cwin       CW        definiuj okno #1 od
                                                          #2,#3 do #4,#5
       cursor_address                cup        cm        przejdź do wiersza
                                                          #1 kolumny #2
       cursor_down                   cud1       do        w dół o 1 linię
       cursor_home                   home       ho        kursor do domu
                                                          (jeśli bez cup)
       cursor_invisible              civis      vi        uczyń kursor
                                                          niewidzialnym
       cursor_left                   cub1       le        przejdź jedną spację
                                                          w lewo
       cursor_mem_address            mrcup      CM        adresowanie kursora
                                                          względem pamięci
       cursor_normal                 cnorm      ve        spowoduj, że kursor
                                                          stanie się normalny
                                                          (odtwórz zmiany
                                                          civis/cvvis)
       cursor_right                  cuf1       nd        niedestruktywna
                                                          spacja (przejdź w
                                                          prawo o spację)
       cursor_to_ll                  ll         ll        ostatnia linia,
                                                          pierwsza kolumna
                                                          (jeśli bez cup)
       cursor_up                     cuu1       up        w górę o 1 linię
       cursor_visible                cvvis      vs        uczyń kursor bardzo
                                                          widzialnym
       define_char                   defc       ZE        zdefiniuj znak
       delete_character              dch1       dc        usuń znak (P*)
       delete_line                   dl1        dl        usuń linię (P*)
       dial_phone                    dial       DI        wykręć numer #1
       dis_status_line               dsl        ds        wyłącz linię statusu
       display_clock                 dclk       DK        wyświetl w pozycji
                                                          (#1,#2) zegar
       down_half_line                hd         hd        pół linii w dół

       ena_acs                       enacs      eA        włącz alternatywny
                                                          zestaw znaków
       enter_alt_charset_mode        smacs      as        rozpocznij tryb
                                                          alternatywnego
                                                          zestawu znaków (P)
       enter_am_mode                 smam       SA        włącz automatyczne
                                                          marginesy
       enter_blink_mode              blink      mb        włącz migotanie
       enter_bold_mode               bold       md        włącz tryb
                                                          wytłuszczenia
                                                          (dodatkowe
                                                          rozjaśnienie)
       enter_ca_mode                 smcup      ti        łańcuch do
                                                          rozpoczynania
                                                          programów,
                                                          używających cup
       enter_delete_mode             smdc       dm        wejdź w tryb
                                                          kasowania (delete)
       enter_dim_mode                dim        mh        włącz tryb
                                                          pół-rozjaśnienia
       enter_doublewide_mode         swidm      ZF        wejdź w tryb
                                                          podwójnej szerokości
       enter_draft_quality           sdrfq      ZG        wejdź w tryb jakości
                                                          draft
       enter_insert_mode             smir       im        wejdź w tryb
                                                          wstawiania (insert)
       enter_italics_mode            sitm       ZH        wejdź w tryb kursywy
       enter_leftward_mode           slm        ZI        rozpocznij
                                                          lewokierunkowy ruch
                                                          karetki
       enter_micro_mode              smicm      ZJ        rozpocznij tryb
                                                          micro-motion (mikro
                                                          ruchów)
       enter_near_letter_quality     snlq       ZK        wejdź w tryb NLQ
       enter_normal_quality          snrmq      ZL        wejdź w tryb
                                                          normalnej jakości
       enter_protected_mode          prot       mp        włącz tryb chroniony
       enter_reverse_mode            rev        mr        włącz tryb
                                                          inwersyjny wideo
       enter_secure_mode             invis      mk        włącz tryb
                                                          niewidzialny (znaki
                                                          niewidoczne)
       enter_shadow_mode             sshm       ZM        wejdź w tryb shadow-
                                                          print (cieniowego-
                                                          drukowania)
       enter_standout_mode           smso       so        rozpocznij tryb
                                                          wyróżniony
                                                          (standout)
       enter_subscript_mode          ssubm      ZN        wejdź w tryb indeksu
                                                          dolnego
       enter_superscript_mode        ssupm      ZO        wejdź w tryb indeksu
                                                          górnego
       enter_underline_mode          smul       us        rozpocznij tryb
                                                          podkreślenia
       enter_upward_mode             sum        ZP        rozpocznij
                                                          górnokierunkowy ruch
                                                          karetki
       enter_xon_mode                smxon      SX        włącz potwierdzenia
                                                          xon/xoff
       erase_chars                   ech        ec        wykasuj #1 znaków
                                                          (P)
       exit_alt_charset_mode         rmacs      ae        zakończ [działanie]
                                                          alternatywnego
                                                          zestawu znaków (P)

       exit_am_mode                  rmam       RA        wyłącz automatyczne
                                                          marginesy
       exit_attribute_mode           sgr0       me        wyłącz wszystkie
                                                          atrybuty
       exit_ca_mode                  rmcup      te        łańcuchy do
                                                          kończenia programów,
                                                          używających cup
       exit_delete_mode              rmdc       ed        zakończ tryb
                                                          kasowania
       exit_doublewide_mode          rwidm      ZQ        zakończ tryb
                                                          podwojonej
                                                          szerokości
       exit_insert_mode              rmir       ei        zakończ tryb
                                                          wstawiania
       exit_italics_mode             ritm       ZR        zakończ tryb kursywy
       exit_leftward_mode            rlm        ZS        zakończ tryb ruchu w
                                                          lewo
       exit_micro_mode               rmicm      ZT        zakończ tryb micro-
                                                          motion
       exit_shadow_mode              rshm       ZU        zakończ tryb shadow-
                                                          print
       exit_standout_mode            rmso       se        zakończ tryb
                                                          wyróżnienia
       exit_subscript_mode           rsubm      ZV        zakończ tryb indeksu
                                                          dolnego
       exit_superscript_mode         rsupm      ZW        zakończ tryb indeksu
                                                          górnego
       exit_underline_mode           rmul       ue        zakończ tryb
                                                          podkreślenia
       exit_upward_mode              rum        ZX        zakończ odwrócone
                                                          ruchy znaków
       exit_xon_mode                 rmxon      RX        wyłącz potwierdzenia
                                                          xon/xoff
       fixed_pause                   pause      PA        pauzuj przez 2-3
                                                          sekundy
       flash_hook                    hook       fh        zaczep przełącznika
                                                          rozbłysku (flash
                                                          switch hook)
       flash_screen                  flash      vb        widzialny dzwonek
                                                          (nie może ruszać
                                                          kursora)
       form_feed                     ff         ff        Wyrzucenie strony z
                                                          terminala hardcopy
                                                          (P*)
       from_status_line              fsl        fs        powrót z linii
                                                          statusu
       goto_window                   wingo      WG        idź do okna #1
       hangup                        hup        HU        odwieś słuchawkę
       init_1string                  is1        i1        łańcuch
                                                          inicjalizacji
       init_2string                  is2        is        łańcuch
                                                          inicjalizacji
       init_3string                  is3        i3        łańcuch
                                                          inicjalizacji
       init_file                     if         if        nazwa pliku
                                                          inicjalizacji
       init_prog                     iprog      iP        ścieżka do programu
                                                          do inicjalizacji
       initialize_color              initc      Ic        inicjalizuj kolor #1
                                                          na (#2,#3,#4)
       initialize_pair               initp      Ip        inicjalizuj parę #1
                                                          kolorów na
                                                          fg=(#2,#3,#4),
                                                          bg=(#5,#6,#7)
       insert_character              ich1       ic        wstaw znak (P)

       insert_line                   il1        al        wstaw linię (P*)
       insert_padding                ip         ip        wstaw wypełnienie
                                                          (padding) po
                                                          wstawionym znaku
       key_a1                        ka1        K1        lewy, górny róg
                                                          keypadu
       key_a3                        ka3        K3        prawy, górny róg
                                                          keypadu
       key_b2                        kb2        K2        środek keypadu
       key_backspace                 kbs        kb        klawisz backspace
       key_beg                       kbeg       @1        klawisz begin
       key_btab                      kcbt       kB        klawisz wstecznej
                                                          tabulacji
       key_c1                        kc1        K4        lewy, dolny róg
                                                          keypadu
       key_c3                        kc3        K5        prawy, dolny róg
                                                          keypadu
       key_cancel                    kcan       @2        klawisz cancel
                                                          (anulowania)
       key_catab                     ktbc       ka        klawisz czyszczenia
                                                          wszystkich tabulacji
       key_clear                     kclr       kC        klawisz czyszczenia
                                                          ekranu lub
                                                          wymazywania
       key_close                     kclo       @3        klawisz close
                                                          (zamykania)
       key_command                   kcmd       @4        klawisz poleceń
       key_copy                      kcpy       @5        klawisz copy
                                                          (kopiowania)
       key_create                    kcrt       @6        klawisz create
                                                          (tworzenia)
       key_ctab                      kctab      kt        klawisz czyszczenia
                                                          tabulacji
       key_dc                        kdch1      kD        klawisz kasowania
                                                          znaku
       key_dl                        kdl1       kL        klawisz kasowania
                                                          linii
       key_down                      kcud1      kd        strzałka w dół
       key_eic                       krmir      kM        wysyłane przez rmir
                                                          lub smir w trybie
                                                          wstawiania
       key_end                       kend       @7        klawisz end
       key_enter                     kent       @8        klawisz enter/send
       key_eol                       kel        kE        klawisz kasowania do
                                                          końca linii
       key_eos                       ked        kS        klawisz kasowania do
                                                          końca ekranu
       key_exit                      kext       @9        klawisz exit
                                                          (zakończenia)
       key_f0                        kf0        k0        klawisz funkcyjny F0
       key_f1                        kf1        k1        klawisz funkcyjny F1
       key_f10                       kf10       k;        klawisz funkcyjny
                                                          F10
       key_f11                       kf11       F1        klawisz funkcyjny
                                                          F11
       key_f12                       kf12       F2        klawisz funkcyjny
                                                          F12
       key_f13                       kf13       F3        klawisz funkcyjny
                                                          F13
       key_f14                       kf14       F4        klawisz funkcyjny
                                                          F14
       key_f15                       kf15       F5        klawisz funkcyjny
                                                          F15
       key_f16                       kf16       F6        klawisz funkcyjny
                                                          F16

       key_f17                       kf17       F7        klawisz funkcyjny
                                                          F17
       key_f18                       kf18       F8        klawisz funkcyjny
                                                          F18
       key_f19                       kf19       F9        klawisz funkcyjny
                                                          F19
       key_f2                        kf2        k2        klawisz funkcyjny F2
       key_f20                       kf20       FA        klawisz funkcyjny
                                                          F20
       key_f21                       kf21       FB        klawisz funkcyjny
                                                          F21
       key_f22                       kf22       FC        klawisz funkcyjny
                                                          F22
       key_f23                       kf23       FD        klawisz funkcyjny
                                                          F23
       key_f24                       kf24       FE        klawisz funkcyjny
                                                          F24
       key_f25                       kf25       FF        klawisz funkcyjny
                                                          F25
       key_f26                       kf26       FG        klawisz funkcyjny
                                                          F26
       key_f27                       kf27       FH        klawisz funkcyjny
                                                          F27
       key_f28                       kf28       FI        klawisz funkcyjny
                                                          F28
       key_f29                       kf29       FJ        klawisz funkcyjny
                                                          F29
       key_f3                        kf3        k3        klawisz funkcyjny F3
       key_f30                       kf30       FK        klawisz funkcyjny
                                                          F30
       key_f31                       kf31       FL        klawisz funkcyjny
                                                          F31
       key_f32                       kf32       FM        klawisz funkcyjny
                                                          F32
       key_f33                       kf33       FN        klawisz funkcyjny
                                                          F33
       key_f34                       kf34       FO        klawisz funkcyjny
                                                          F34
       key_f35                       kf35       FP        klawisz funkcyjny
                                                          F35
       key_f36                       kf36       FQ        klawisz funkcyjny
                                                          F36
       key_f37                       kf37       FR        klawisz funkcyjny
                                                          F37
       key_f38                       kf38       FS        klawisz funkcyjny
                                                          F38
       key_f39                       kf39       FT        klawisz funkcyjny
                                                          F39
       key_f4                        kf4        k4        klawisz funkcyjny F4
       key_f40                       kf40       FU        klawisz funkcyjny
                                                          F40
       key_f41                       kf41       FV        klawisz funkcyjny
                                                          F41
       key_f42                       kf42       FW        klawisz funkcyjny
                                                          F42
       key_f43                       kf43       FX        klawisz funkcyjny
                                                          F43
       key_f44                       kf44       FY        klawisz funkcyjny
                                                          F44
       key_f45                       kf45       FZ        klawisz funkcyjny
                                                          F45
       key_f46                       kf46       Fa        klawisz funkcyjny
                                                          F46
       key_f47                       kf47       Fb        klawisz funkcyjny
                                                          F47

       key_f48                       kf48       Fc        klawisz funkcyjny
                                                          F48
       key_f49                       kf49       Fd        klawisz funkcyjny
                                                          F49
       key_f5                        kf5        k5        klawisz funkcyjny F5
       key_f50                       kf50       Fe        klawisz funkcyjny
                                                          F50
       key_f51                       kf51       Ff        klawisz funkcyjny
                                                          F51
       key_f52                       kf52       Fg        klawisz funkcyjny
                                                          F52
       key_f53                       kf53       Fh        klawisz funkcyjny
                                                          F53
       key_f54                       kf54       Fi        klawisz funkcyjny
                                                          F54
       key_f55                       kf55       Fj        klawisz funkcyjny
                                                          F55
       key_f56                       kf56       Fk        klawisz funkcyjny
                                                          F56
       key_f57                       kf57       Fl        klawisz funkcyjny
                                                          F57
       key_f58                       kf58       Fm        klawisz funkcyjny
                                                          F58
       key_f59                       kf59       Fn        klawisz funkcyjny
                                                          F59
       key_f6                        kf6        k6        klawisz funkcyjny F6
       key_f60                       kf60       Fo        klawisz funkcyjny
                                                          F60
       key_f61                       kf61       Fp        klawisz funkcyjny
                                                          F61
       key_f62                       kf62       Fq        klawisz funkcyjny
                                                          F62
       key_f63                       kf63       Fr        klawisz funkcyjny
                                                          F63
       key_f7                        kf7        k7        klawisz funkcyjny F7
       key_f8                        kf8        k8        klawisz funkcyjny F8
       key_f9                        kf9        k9        klawisz funkcyjny F9
       key_find                      kfnd       @0        klawisz find
                                                          (szukania)
       key_help                      khlp       %1        klawisz help
                                                          (pomocy)
       key_home                      khome      kh        klawisz home
       key_ic                        kich1      kI        klawisz wstawiania
                                                          znaku
       key_il                        kil1       kA        klawisz wstawiania
                                                          linii
       key_left                      kcub1      kl        strzałka w lewo
       key_ll                        kll        kH        dolna strzałka w
                                                          lewo (home down)
       key_mark                      kmrk       %2        klawisz mark
                                                          (zaznaczenia)
       key_message                   kmsg       %3        klawisz message
                                                          (komunikatu)
       key_move                      kmov       %4        klawisz move
                                                          (przemieszczenia)
       key_next                      knxt       %5        klawisz next
                                                          (następny)
       key_npage                     knp        kN        klawisz następnej-
                                                          strony
       key_open                      kopn       %6        klawisz open
                                                          (otwarcia)
       key_options                   kopt       %7        klawisz options
                                                          (opcji)
       key_ppage                     kpp        kP        klawisz poprzedniej-
                                                          strony

       key_previous                  kprv       %8        klawisz previous
                                                          (poprzedni)
       key_print                     kprt       %9        klawisz print
                                                          (drukowania)
       key_redo                      krdo       %0        klawisz redo
                                                          (odtworzenia)
       key_reference                 kref       &1        klawisz reference
       key_refresh                   krfr       &2        klawisz refresh
                                                          (odświeżenia)
       key_replace                   krpl       &3        klawisz replace
                                                          (podmienienia)
       key_restart                   krst       &4        klawisz restart
       key_resume                    kres       &5        klawisz resume
                                                          (wznowienia)
       key_right                     kcuf1      kr        strzałka w prawo
       key_save                      ksav       &6        klawisz save
                                                          (zapisania)
       key_sbeg                      kBEG       &9        przesunięty
                                                          (shifted) klawisz
                                                          rozpoczęcia (begin
                                                          key)
       key_scancel                   kCAN       &0        przesunięty klawisz
                                                          cancel (anulowania)
       key_scommand                  kCMD       *1        przesunięty klawisz
                                                          polecenia
       key_scopy                     kCPY       *2        przesunięty klawisz
                                                          copy (kopiowania)
       key_screate                   kCRT       *3        przesunięty klawisz
                                                          create (tworzenia)
       key_sdc                       kDC        *4        przesunięty klawisz
                                                          kasowania znaku
       key_sdl                       kDL        *5        przesunięty klawisz
                                                          kasowania linii
       key_select                    kslt       *6        klawisz wybrania
                                                          (select key)
       key_send                      kEND       *7        przesunięty klawisz
                                                          end
       key_seol                      kEOL       *8        przesunięty klawisz
                                                          czyszczenia do końca
                                                          linii
       key_sexit                     kEXT       *9        przesunięty klawisz
                                                          exit (zakończenia)
       key_sf                        kind       kF        klawisz przewijania
                                                          w przód
       key_sfind                     kFND       *0        przesunięty klawisz
                                                          find (szukania)
       key_shelp                     kHLP       #1        przesunięty klawisz
                                                          help (pomocy)
       key_shome                     kHOM       #2        przesunięty klawisz
                                                          home
       key_sic                       kIC        #3        przesunięty klawisz
                                                          wstawiania znaku
       key_sleft                     kLFT       #4        przesunięta strzałka
                                                          w lewo
       key_smessage                  kMSG       %a        przesunięty klawisz
                                                          message (komunikatu)
       key_smove                     kMOV       %b        przesunięty klawisz
                                                          move
                                                          (przemieszczenia)
       key_snext                     kNXT       %c        przesunięty klawisz
                                                          next
       key_soptions                  kOPT       %d        przesunięty klawisz
                                                          options (opcji)
       key_sprevious                 kPRV       %e        przesunięty klawisz
                                                          previous (poprzedni)

       key_sprint                    kPRT       %f        przesunięty klawisz
                                                          print (drukowania)
       key_sr                        kri        kR        klawisz przewijania
                                                          wstecz
       key_sredo                     kRDO       %g        przesunięty klawisz
                                                          redo (odtworzenia)
       key_sreplace                  kRPL       %h        przesunięty klawisz
                                                          replace
                                                          (podmienienia)
       key_sright                    kRIT       %i        przesunięta strzałka
                                                          w prawo
       key_srsume                    kRES       %j        przesunięty klawisz
                                                          resume (wznowienia)
       key_ssave                     kSAV       !1        przesunięty klawisz
                                                          save (zapisania)
       key_ssuspend                  kSPD       !2        przesunięty klawisz
                                                          suspend
                                                          (zawieszenia)
       key_stab                      khts       kT        klawisz ustawienia
                                                          tabulacji (set-tab
                                                          key)
       key_sundo                     kUND       !3        przesunięty klawisz
                                                          undo (cofnięcia)
       key_suspend                   kspd       &7        klawisz suspend
                                                          (zawieszenia)
       key_undo                      kund       &8        klawisz undo
                                                          (cofnięcia)
       key_up                        kcuu1      ku        strzałka w górę
       keypad_local                  rmkx       ke        zakończ tryb
                                                          'keyboard_transmit'
       keypad_xmit                   smkx       ks        wejdź w tryb
                                                          'keyboard_transmit'
       lab_f0                        lf0        l0        etykieta na klawiszu
                                                          f0 to nie f0
       lab_f1                        lf1        l1        etykieta na klawiszu
                                                          f1 to nie f1
       lab_f10                       lf10       la        etykieta na klawiszu
                                                          f10 to nie f10
       lab_f2                        lf2        l2        etykieta na klawiszu
                                                          f2 to nie f2
       lab_f3                        lf3        l3        etykieta na klawiszu
                                                          f3 to nie f3
       lab_f4                        lf4        l4        etykieta na klawiszu
                                                          f4 to nie f4
       lab_f5                        lf5        l5        etykieta na klawiszu
                                                          f5 to nie f5
       lab_f6                        lf6        l6        etykieta na klawiszu
                                                          f6 to nie f6
       lab_f7                        lf7        l7        etykieta na klawiszu
                                                          f7 to nie f7
       lab_f8                        lf8        l8        etykieta na klawiszu
                                                          f8 to nie f8
       lab_f9                        lf9        l9        etykieta na klawiszu
                                                          f9 to nie f9
       label_format                  fln        Lf        format etykiety
       label_off                     rmln       LF        wyłącz miękkie
                                                          etykiety
       label_on                      smln       LO        włącz miękkie
                                                          etykiety
       meta_off                      rmm        mo        wyłącz tryb meta
       meta_on                       smm        mm        włącz tryb meta
                                                          (włączony 8 bit)
       micro_column_address          mhpa       ZY        podobne do
                                                          column_address w
                                                          trybie micro mode

       micro_down                    mcud1      ZZ        podobne do
                                                          cursor_down w trybie
                                                          micro mode
       micro_left                    mcub1      Za        podobne do
                                                          cursor_left w trybie
                                                          micro mode
       micro_right                   mcuf1      Zb        podobne do
                                                          cursor_right w
                                                          trybie micro mode
       micro_row_address             mvpa       Zc        podobne do
                                                          row_address w trybie
                                                          micro mode
       micro_up                      mcuu1      Zd        podobne do cursor_up
                                                          w trybie micro mode
       newline                       nel        nw        nowa linia (zachowuj
                                                          się jak cr z lf)
       order_of_pins                 porder     Ze        dopasuj bity
                                                          programowe do igieł
                                                          głowicy drukującej
       orig_colors                   oc         oc        ustaw wszystkie pary
                                                          kolorów na wartości
                                                          oryginalne
       orig_pair                     op         op        ustaw domyślną parę
                                                          na wartość
                                                          oryginalną
       pad_char                      pad        pc        znak wypełniania
                                                          (zamiast zera)
       parm_dch                      dch        DC        kasuj #1 znaków (P*)
       parm_delete_line              dl         DL        kasuj #1 linii (P*)
       parm_down_cursor              cud        DO        w dół o #1 linii
                                                          (P*)
       parm_down_micro               mcud       Zf        podobne do
                                                          parm_down_cursor w
                                                          trybie micro mode
       parm_ich                      ich        IC        wstaw #1 znaków (P*)
       parm_index                    indn       SF        przewiń w przód o #1
                                                          linii (P)
       parm_insert_line              il         AL        wstaw #1 linii (P*)
       parm_left_cursor              cub        LE        przesuń #1 znaków w
                                                          lewo (P)
       parm_left_micro               mcub       Zg        podobne do
                                                          parm_left_cursor w
                                                          trybie micro mode
       parm_right_cursor             cuf        RI        przesuń #1 znaków w
                                                          prawo (P*)
       parm_right_micro              mcuf       Zh        podobne do
                                                          parm_right_cursor w
                                                          trybie micro mode
       parm_rindex                   rin        SR        przewiń wstecz o #1
                                                          linii (P)
       parm_up_cursor                cuu        UP        przejdź w górę o #1
                                                          linii (P*)
       parm_up_micro                 mcuu       Zi        podobne do
                                                          parm_up_cursor w
                                                          trybie micro mode
       pkey_key                      pfkey      pk        zaprogramuj klawisz
                                                          funkcyjny #1 na
                                                          wysyłanie łańcucha
                                                          #2
       pkey_local                    pfloc      pl        zaprogramuj klawisz
                                                          funkcyjny #1 na
                                                          wykonywanie łańcucha
                                                          #2

       pkey_xmit                     pfx        px        zaprogramuj klawisz
                                                          funkcyjny #1 na
                                                          transmitowanie
                                                          łańcucha #2
       plab_norm                     pln        pn        zaprogramuj etykietę
                                                          #2 na pokazywanie
                                                          łańcucha #2
       print_screen                  mc0        ps        drukuj zawartość
                                                          ekranu
       prtr_non                      mc5p       pO        włącz drukarkę na #1
                                                          bajtów
       prtr_off                      mc4        pf        wyłącz drukarkę
       prtr_on                       mc5        po        włącz drukarkę
       pulse                         pulse      PU        wybierz wydzwanianie
                                                          pulsowe
       quick_dial                    qdial      QD        wykręć numer #1 bez
                                                          sprawdzania
       remove_clock                  rmclk      RC        usuń zegarek
       repeat_char                   rep        rp        powtórz znak #1 #2
                                                          razy (P*)
       req_for_input                 rfi        RF        wyślij następny znak
                                                          wejściowy (dla pty)
       reset_1string                 rs1        r1        łańcuch resetowania
       reset_2string                 rs2        r2        łańcuch resetowania
       reset_3string                 rs3        r3        łańcuch resetowania
       reset_file                    rf         rf        nazwa pliku
                                                          resetowania
       restore_cursor                rc         rc        odtwórz pozycję
                                                          kursora na ostatnie
                                                          save_cursor
       row_address                   vpa        cv        absolutna pozycja
                                                          pionowa #1 (P)
       save_cursor                   sc         sc        zapisz bieżącą
                                                          pozycję kursora (P)
       scroll_forward                ind        sf        przewiń tekst w górę
                                                          (P)
       scroll_reverse                ri         sr        przewiń tekst w dół
                                                          (P)
       select_char_set               scs        Zj        wybierz zestaw
                                                          znaków
       set_attributes                sgr        sa        zdefiniuj atrybuty
                                                          wideo #1-#9 (PG9)
       set_background                setb       Sb        Ustaw kolor tła #1
       set_bottom_margin             smgb       Zk        ustaw dolny margines
                                                          na bieżącej linii
       set_bottom_margin_parm        smgbp      Zl        ustaw dolny margines
                                                          na linii #1 lub #2
                                                          linii od dołu
       set_clock                     sclk       SC        ustaw zegarek na
                                                          godzinę #1, minut
                                                          #2, #3 sekund
       set_color_pair                scp        sp        ustaw bieżącą parę
                                                          kolorów na #1
       set_foreground                setf       Sf        ustaw kolor #1
       set_left_margin               smgl       ML        ustaw lewy miękki
                                                          margines na bieżącej
                                                          kolumnie
       set_left_margin_parm          smglp      Zm        ustaw lewy (prawy)
                                                          margines na kolumnie
                                                          #1 (#2)
       set_right_margin              smgr       MR        ustaw prawy miękki
                                                          margines na bieżącej
                                                          kolumnie
       set_right_margin_parm         smgrp      Zn        ustaw prawy margines
                                                          na kolumnie #1

       set_tab                       hts        st        ustaw tabulację w
                                                          każdym wierszu,
                                                          bieżąca kolumna (?)
       set_top_margin                smgt       Zo        ustaw górny margines
                                                          na bieżącej linii
       set_top_margin_parm           smgtp      Zp        ustaw górny (dolny)
                                                          margines w wierszu
                                                          #1 (#2)
       set_window                    wind       wi        bieżące okno to
                                                          linie #1-#2 i
                                                          kolumny #3-#4
       start_bit_image               sbim       Zq        zacznij drukować
                                                          grafikę bitową
       start_char_set_def            scsd       Zr        rozpocznij definicję
                                                          zestawu znaków
       stop_bit_image                rbim       Zs        przestań drukować
                                                          grafikę bitową
       stop_char_set_def             rcsd       Zt        zakończ definicję
                                                          zestawu znaków
       subscript_characters          subcs      Zu        lista indeksowalnych
                                                          dolnie znaków
       superscript_characters        supcs      Zv        lista indeksowalnych
                                                          górnie znaków
       tab                           ht         ta        tabuluj do
                                                          następnego
                                                          (sprzętowego)
                                                          8-spacjowego
                                                          tabulatora
       these_cause_cr                docr       Zw        drukowanie dowolnego
                                                          z nich spowoduje CR
       to_status_line                tsl        ts        przemieść się do
                                                          linii statusu
       tone                          tone       TO        wybierz wydzwanianie
                                                          tonowe
       underline_char                uc         uc        podkreśl znak i
                                                          przesuń się za niego
       up_half_line                  hu         hu        pół linii w górę
       user0                         u0         u0        łańcuch użytkownika
                                                          #0
       user1                         u1         u1        łańcuch użytkownika
                                                          #1
       user2                         u2         u2        łańcuch użytkownika
                                                          #2
       user3                         u3         u3        łańcuch użytkownika
                                                          #3
       user4                         u4         u4        łańcuch użytkownika
                                                          #4
       user5                         u5         u5        łańcuch użytkownika
                                                          #5
       user6                         u6         u6        łańcuch użytkownika
                                                          #6
       user7                         u7         u7        łańcuch użytkownika
                                                          #7
       user8                         u8         u8        łańcuch użytkownika
                                                          #8
       user9                         u9         u9        łańcuch użytkownika
                                                          #9
       wait_tone                     wait       WA        czekaj na ton
                                                          dzwonienia
                                                          (dialtone)
       xoff_character                xoffc      XF        znak XOFF
       xon_character                 xonc       XN        znak XON
       zero_motion                   zerom      Zx        brak przemieszczenia
                                                          dla kolejnego znaku

       Następujące  właściwości  łańcuchowe istnieją w strukturze term SVr4.0,
       lecz początkowo nie były opisane w podręczniku man.

                Zmienna              Nazwa-       Kod              Opis
              Łańcuchowa             właść.       TCap
       alt_scancode_esc              scesa        S8        alternatywny
                                                            escape dla
                                                            emulacji scancode
       bit_image_carriage_return     bicr         Yv        przemieść się na
                                                            początek wiersza
       bit_image_newline             binel        Zz        przemieść się do
                                                            następnego wiersza
                                                            obrazu bitowego
       bit_image_repeat              birep        Xy        powtórz komórkę #1
                                                            obrazu bitowego #2
                                                            razy
       char_set_names                csnm         Zy        wymień nazwy
                                                            zestawów znaków
       code_set_init                 csin         ci        inicjalizuj
                                                            sekwencję dla
                                                            wielokrotnych
                                                            zestawów kodów
       color_names                   colornm      Yw        podaj nazwę dla
                                                            koloru #1
       define_bit_image_region       defbi        Yx        definiuj
                                                            prostokątny region
                                                            obrazu bitowego
       device_type                   devt         dv        wskaż obsługę
                                                            języka/zestawu
                                                            kodów
       display_pc_char               dispc        S1        wyświetl znak PC
       end_bit_image_region          endbi        Yy        zakończ region
                                                            obrazu bitowego
       enter_pc_charset_mode         smpch        S2        wejdź w tryb
                                                            wyświetlania PC
       enter_scancode_mode           smsc         S4        wejdź w tryb
                                                            scancode PC
       exit_pc_charset_mode          rmpch        S3        zakończ tryb
                                                            wyświetlania
                                                            znaków PC
       exit_scancode_mode            rmsc         S5        zakończ tryb
                                                            scancode PC
       get_mouse                     getm         Gm        curses powinny
                                                            odbierać zdarzenia
                                                            myszy
       key_mouse                     kmous        Km        pojawiło się
                                                            zdarzenie myszy
       mouse_info                    minfo        Mi        informacja o
                                                            statusie myszy
       pc_term_options               pctrm        S6        opcje terminala PC
       pkey_plab                     pfxl         xl        zaprogramuj
                                                            klawisz funkcyjny
                                                            #1 na wpisywanie
                                                            łańcucha #2 i
                                                            pokazywanie
                                                            łańcucha #3.
       req_mouse_pos                 reqmp        RQ        zażądaj pozycji
                                                            myszy
       scancode_escape               scesc        S7        escape dla
                                                            emulacji scancode
       set0_des_seq                  s0ds         s0        przesuń do zestawu
                                                            kodów 0 (zestaw
                                                            EUC 0, ASCII)
       set1_des_seq                  s1ds         s1        przesuń do zestawu
                                                            kodów 1

       set2_des_seq                  s2ds         s2        przesuń do zestawu
                                                            kodów 2
       set3_des_seq                  s3ds         s3        przesuń do zestawu
                                                            kodów 3
       set_a_background              setab        AB        ustaw kolor tła
                                                            przy użyciu
                                                            sekwencji
                                                            specjalnej ANSI
       set_a_foreground              setaf        AF        ustaw kolor
                                                            pierwszego planu
                                                            przy użyciu
                                                            sekwencji
                                                            specjalnej ANSI
       set_color_band                setcolor     Yz        Change to ribbon
                                                            color #1 (?)
       set_lr_margin                 smglr        ML        ustaw lewy i prawy
                                                            margines na #1, #2
       set_page_length               slines       YZ        ustaw rozmiar
                                                            strony na #1 linii
       set_tb_margin                 smgtb        MT        ustawia górny i
                                                            dolny margines na
                                                            #1, #2

        Standard  XSI  curses  dodał  te oto. Pochodzą one z niektórych po-4.1
        wersji curses z Systemu V, np. Solaris 2.5 i IRIX 6.x.  Nazwy termcapu
        ncurses  zostały  dla  nich wynalezione; według standardu XSI nie mają
        one nazw termcap. Jeśli twoje skompilowane wpisy terminfo ich używają,
        mogą  one  nie być binarnie kompatybilne z wpisami System V po SVr4.1;
        Strzeż się!

                Zmienna              Nazwa-      Kod              Opis
               łańcuchowa            właść.      Tcap
        enter_horizontal_hl_mode     ehhlm       Xh       wejdź w tryb
                                                          poprzecznego
                                                          podświetlenia
        enter_left_hl_mode           elhlm       Xl       wejdź w tryb lewego
                                                          podświetlenia
        enter_low_hl_mode            elohlm      Xo       wejdź w tryb
                                                          niskiego
                                                          podświetlenia
        enter_right_hl_mode          erhlm       Xr       wejdź w tryb prawego
                                                          podświetlenia
        enter_top_hl_mode            ethlm       Xt       wejdź w tryb górnego
                                                          podświetlenia
        enter_vertical_hl_mode       evhlm       Xv       wejdź w tryb
                                                          podświetlenia
                                                          pionowego
        set_a_attributes             sgr1        sA       zdefiniuj drugi
                                                          zestaw atrybutów
                                                          wideo #1-#6
        set_pglen_inch               slength     sL       YI ustaw długość
                                                          strony na #1 setnej
                                                          cala

   Przykładowy wpis
       Następujący  opis, przeznaczony dla terminala ANSI jest reprezentatywną
       próbką opisu wyglądu nowoczesnych terminali.

     ansi|ansi/pc-term compatible with color,
             mc5i,
             colors#8, ncv#3, pairs#64,
             cub=\E[%p1%dD, cud=\E[%p1%dB, cuf=\E[%p1%dC,
             cuu=\E[%p1%dA, dch=\E[%p1%dP, dl=\E[%p1%dM,
             ech=\E[%p1%dX, el1=\E[1K, hpa=\E[%p1%dG, ht=\E[I,
             ich=\E[%p1%d@, il=\E[%p1%dL, indn=\E[%p1%dS, .indn=\E[%p1%dT,
             kbs=^H, kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B,
             kcuf1=\E[C, kcuu1=\E[A, kf1=\E[M, kf10=\E[V,
             kf11=\E[W, kf12=\E[X, kf2=\E[N, kf3=\E[O, kf4=\E[P,
             kf5=\E[Q, kf6=\E[R, kf7=\E[S, kf8=\E[T, kf9=\E[U,
             kich1=\E[L, mc4=\E[4i, mc5=\E[5i, nel=\r\E[S,
             op=\E[37;40m, rep=%p1%c\E[%p2%{1}%-%db,
             rin=\E[%p1%dT, s0ds=\E(B, s1ds=\E)B, s2ds=\E*B,
             s3ds=\E+B, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
             setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
             setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
             sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p8%t;11%;%?%p9%t;12%;m,
             sgr0=\E[0;10m, tbc=\E[2g, u6=\E[%d;%dR, u7=\E[6n,
             u8=\E[?%[;0123456789]c, u9=\E[c, vpa=\E[%p1%dd,

       Wpisy mogą się ciągnąć na wiele  linii  dzięki  poprzedzaniu  kolejnych
       linii białymi spacjami (poza pierwszą linią). Komentarze można załączać
       w poszczególnych liniach przy użyciu  ``#''.   Właściwości  w  terminfo
       występują   jako  trzy  typy:  Właściwości  logiczne,  okreslające  czy
       terminal  ma  jakąś  właściwość;  właściwości  numeryczne,  określające
       rozmiar   terminala,   opóźnień;  właściwości  łańcuchowe,  określające
       sekwencje używane do dokonywania określonych operacji terminalowych.

   Typy właściwości
       Wszystkie właściwości mają nazwy. Na przykład fakt, że  terminale  ANSI
       mają   automatyczne   marginesy   (tj.  automatyczny  return  i  lf  po
       osiągnięciu  końca  linii)  jest  określany  właściwością  am.  Z   tej
       przyczyny  opis ansi zawiera am.  Właściwości numeryczne mają doklejony
       znak `#' i wartość dodatnią.  Tak więc cols, określające liczbę  kolumn
       terminala, w przypadku ansi ma `80'.  Wartości właściwości numerycznych
       można  podawać  dziesiętnie,  ósemkowo   lub   szesnastkowo,   uzywając
       konwencji z języka C (np. 255, 0377, 0xff i 0xFF).

       Właściwości  napisowe,  takie  jak  el  (sekwencja czyszczenia do końca
       linii) są podawane  w  kodzie  dwuznakowym--najpierw  jest  `=',  potem
       łańcuch, kończącyc się znakiem `,'.

       Dla  łatwego  kodowania  znaków  udostępnione  są  we  właściwościach o
       wartościach łańcuchowych sekwencje specjalne. \E i \e  odnoszą  się  do
       znaku ESCAPE, ^x odnosi się do control-x, a sekwencje \n \l \r \t \b \f
       \s odpowiadają nowej linii, line-feed,  powrotowi  karetki,  tabulacji,
       kasownikowi (backspace), form-feed, i spacji.  Inne sekwencje specjalne
       to m.in. \^ dla ^, \\ dla \, \, dla przecinka, \: dla :, i \0 for  zera
       (null).   (\0 daje \200, co nie kończy łańcucha, lecz zachowuje się jak
       znak null na  większości  terminali  o  ile  podane  jest  CS7.  Zobacz
       stty(1).)  Znaki mogą być też podawane jako trzy cyfry ósemkowe po \.

       We  właściwości  łańcuchowej  może  występować  opóźnienie,  wyrażone w
       milisekundach. Jest ono  ujmowane  w  nawiasy  $<..>,  np.  el=\EK$<5>.
       Znaki wypełnienia, zapewniające opóźnienie produkuje tputs.  Opóźnienie
       musi być liczbą o maksymalnie jednym miejscu precyzji dziesiętnej; może
       zawierać  przyrostki  `*',  `/'  lub  obydwa.  `*'  znaczy, że wymagane
       wypełnienie  jest  proporcjonalne  do  liczby  linii,  których  dotyczy
       operacja,   a   podany   rozmiar  wymagany  jest  na  każdą  "dotkniętą
       jednostkę". (w przypadku  wstawiania  znaku,  współczynnik  jest  wciąż
       liczbą  dotkniętych  linii.)  Zazwyczaj wypełnianie jest zalecane jeśli
       urządzenie ma właściwość xon; jest ono [wtedy]  używane  do  obliczania
       kosztów, lecz nie wywołuje opóźnień.  Znak `/' wskazuje, że wypełnianie
       jest obowiązkowe i wymusza opóźnienie danej liczby milisekund, nawet na
       urządzeniach,   w  których  obecne  jest  xon,  określające  sterowanie
       przepływu.

       [Wypełnianie  jest  używane  na  starych,   wolnych   terminalach   bez
       sterowania  przepływem.  Istnieje  dlatego,  że  gdy nie ma sterowania,
       bufory wejściowe urządzenia mogą się przepełnić i pewne znaki mogą  się
       zgubić.  Wypełnienie  takiego  niepewnego  okresu nieznaczącymi znakami
       wypełnienia   zapewnia,   że    istotne    informacje    nie    zostaną
       utracone--utracone   zostaną   jedynie  ignorowane  znaki  wypełnienia.
       (przyp. tłum.)]

       Czasem pewne  właściwości  muszą  być  wykomentowane.  Aby  to  zrobić,
       wystarczy  przed  nazwą  umieścić  kropkę.  Na  przykład zrobiono tak w
       drugim ind z powyższego przykładu.

   Pobieranie skompilowanych opisów
       Jeśli ustawiona jest zmienna środowiskowa TERMINFO, to jest ona używana
       jako  ścieżka  do  katalogu,  zawierającego skompilowany opis tego, nad
       czym pracujesz. Przeszukiwany jest tylko ten katalog.

       W przeciwnym przypadku, wersja ncurses czytnika terminfo będzie  szukać
       skompilowanego  opisu  w  katalogu  $HOME/.terminfo.  Jeśli nic tam nie
       będzie,  dalsze  poszukiwania  polecą  według  zmiennej   środowiskowej
       TERMINFO_DIRS  (zawierającej  rozdzieloną  dwukropkami listę katalogów)
       (pusty wpis jest rozumiany jako komenda szukania  /usr/share/terminfo).
       Jeśli   i  tu  nic  nie  zostanie  znalezione,  pobieranie  kończy  się
       niepowodzeniem.

       Jeśli nie ustawiono ani TERMINFO, ani TERMINFO_DIRS, szukanie  odbędzie
       się w systemowym katalogu terminfo, /usr/share/terminfo.

       (Pod  curses  z  Systemu V nie są obsługiwane pliki $HOME/.terminfo ani
       zmienna TERMINFO_DIRS.)

   Przygotowywanie opisów
       Wyjaśnimy teraz jak przygotowywać opisy terminali.   Najefektywniejszym
       sposobem  jest wykorzystanie podobnego terminala z terminfo i budowanie
       opisu stopniowo, wykorzystując częściowe opisy z użyciem vi lub  innego
       zorientowanego  ekranowo  programu,  sprawdzając je w ten sposób.  Miej
       świadomość, że nietypowy terminal może wykazywać ubytki w  stosunku  do
       opisującego  go  pliku  terminfo  lub, że kod testującego programu jest
       nieprawidłowy.

       Aby ustawić  prawidłowo  wypełnianie  (padding)  dla  wstawiania  linii
       (jeśli producent terminala tego nie udokumentował), można wykonać test:
       edytuj duży plik przy 9600 bodów, następnie  skasuj  ok.  16  linii  ze
       środka  ekranu,  potem  naciśnij kilka razy szybko `u'.  Jeśli terminal
       się zaśmieci, wymagane jest większe  wypełnianie.  Podobny  test  można
       zrobić do wstawiania znaku.

   Podstawowe właściwości
       Liczba  kolumn  terminala  jest określana właściwością numeryczną cols.
       Jeśli terminal jest CRT,  to  liczba  linii  ekranu  jest  podawana  we
       właściwości  lines.  Jeśli  terminal zawija linie po dojściu do prawego
       marignesu, to powinien posiadać  właściwość  am.  Jeśli  terminal  może
       czyścić  swój ekran, pozostawiając kursor w pozycji domowej, to powinno
       to być określone przez właściwość  łańcuchową  clear.   Jeśli  terminal
       wykonuje   nadstukiwanie  (a  nie  czyści  pozycji  nadstukiwanej),  to
       powinien  posiadać  właściwość  os.  Jeśli  terminal  jest   terminalem
       drukującym,  bez jednostki soft copy, to powinien mieć zarówno hc jak i
       os.  (os dotyczy terminali  z  zakresem  przechowywania,  jak  w  serii
       TEKTRONIX  4010  ale  także  czy  w terminalach hardcopy i APL.)  Jeśli
       istnieje kod, przenoszący kursor do lewego krańca bieżącego wiersza, to
       powinien  być  on  podany  jako  cr.   (Zwykle  jest to powrót karetki,
       control M.)  Jeśli istnieje kod dzwonka (bell, beep, itp.), to powinien
       być on podany jako bel.

       Jeśli  istnieje  kod,  przesuwający  kursor o jedną pozycję w lewo (jak
       backspace), to właściwość ta powinna być podana jako  cub1.   Podobnie,
       kod  przesuwający  w  prawo,  górę i dół powinien być podany jako cuf1,
       cuu1, i cud1.  Te lokalne ruchy kursora nie  powinny  zmieniać  tekstu,
       który  mijają,  np.   normalnie  nie  używa  się  `cuf1= ', gdyż spacja
       skasowała by znak.

       Ważnym spostrzeżeniem w  tym  momencie  jest  fakt,  że  lokalne  ruchy
       kursora,  zakodowane  w terminfo nie są zdefiniowane w lewych i górnych
       krańcach terminala CRT.  Programy nie powinny więc używać backspace  na
       lewym  krańcu, chyba że podane jest bw.  Podobnie, nie powinny próbować
       iść w górę z pierwszej linii.  Aby przewinąć  tekst  do  góry,  program
       powinien  przejść  do dolnego, lewego narożnika ekranu i wysłać łańcuch
       ind (index).

       Aby przewinąć tekst w dół, program idzie do lewego górnego narożnika  i
       wysyła   łańcuch  ri  (reverse  index).   Łańcuchy  ind  i  ri  nie  są
       zdefiniowane  w  przypadku  przebywania  w  nieodpowiednich   miejscach
       ekranu.

       Wersjami  parametryzowanymi  sekwencji  przewijających  są  indn i rin,
       które mają taką samą semantykę jak ind i ri, lecz  dodatkowo  pobierają
       parametr   i   przewijają   tyle   właśnie   linii.    Są  one  również
       niezdefiniowane w nieodpowiednich obszarach ekranu.

       Właściwość am mówi czy kursor  trzyma  się  prawego  krańca  ekranu  po
       wysłaniu tekstu, lecz niekoniecznie tyczy się cuf1 z ostatniej kolumny.
       Jedyny ruch lokalny, który  jest  zdefiniowany  z  lewego  krańca  przy
       podaniu  bw  to  cub1,  który  przejdzie do prawego krańca poprzedniego
       wiersza.  Jeśli bw nie jest podane, efekt jest niezdefiniowany. Jest to
       przydatne  np.  do rysowania ramki wokół krańców ekranu. Jeśli terminal
       ma przełączaną właściwość automatycznych marginesów, to  plik  terminfo
       zwykle  przyjmuje,  że  jest  ona  włączona,  tj. am. Jeśli terminal ma
       polecenie, które przechodzi do pierwszej kolumny  następnej  linii,  to
       komenda ta może być podana jako nel (nowa linia).  Nie ma znaczenia czy
       polecenie to czyści resztę bieżącej  linii,  więc  jeśli  terminal  nie
       posiada cr i lf to może wciąż uda się złożyć z czegoś działający nel.

       Właściwości  te  wystarczają  do opisania terminala hard-copy i "glass-
       tty". W konsekwencji, model teletype 33 jest opisany jako

     33|tty33|tty|model 33 teletype,
     bel=^G, cols#72, cr=^M, cud1=^J, hc, ind=^J, os,

       a Lear Siegler ADM-3 jako

     adm3|3|lsi adm3,
     am, bel=^G, clear=^Z, cols#80, cr=^M, cub1=^H, cud1=^J,
     ind=^J, lines#24,

   Łańcuchy parametryzowane
       Adresowanie kursora i inne łańcychy wymagające parametrów terminala  są
       opisaywane   przez  właściwość  parametryzowanego  łańcucha,  w  której
       występują sekwencje specjalne typu printf(3S), jak %x.  Na przykład aby
       adresować   kursor,   podana   jest  właściwość  cup,  używająca  dwóch
       parametrów: wiersza  i  kolumny  adresowania.  (wiersze  i  kolumny  sa
       numerowane od zera i odnoszą się do fizycznego ekranu, widzianego przez
       użytkownika, a nie do niewidzialnego obszaru pamięci.)  Jeśli  terminal
       posiada  związane  z  pamięcią  adresowanie  kursora,  to  może  to być
       wskazywane przez mrcup.

       Mechanizm parametrów używa stosu i specjalnych kodów % do jego obsługi.
       Zazwyczaj  sekwencja powoduje wepchnięcie jednego z parametrów na stos,
       a następnie jego wydrukowanie w pewnym  formacie.  Często  wymagane  są
       bardziej złożone operacje.

       Kodowania % mają następujące znaczenia:

            %%        daje `%'
            %[[:]flagi][szeroko[.precyzja]][doxXs]
                      podobnie jak w printf, flagi to [-+#] i spacja
            %c        drukowanie pop() daje %c

            %p[1-9]   wepchnij i'ty parm
            %P[a-z]   ustaw zmienną dynamiczną [a-z] na pop()
            %g[a-z]   pobierz dynamiczną zmienną [a-z] i wepchnij ją
            %P[A-Z]   ustaw zmienną statyczną [a-z] na pop()
            %g[A-Z]   pobierz zmienną statyczną [a-z] i wepchnij ją
            %'c'      stała znakowa c
            %{nn}     stała całkowita nn
            %l        wepchnij strlen(pop)

            %+ %- %* %/ %m
                       arytmetyka (%m to mod): push(pop() op pop())
            %& %| %^  operacje bitowe: push(pop() op pop())
            %= %> %<  operacje logiczne: push(pop() op pop())
            %A, %O    operacje logiczne and i or (dla warunków)
            %! %~     jednoargumentowe operacje push(op pop())
            %i        dodaj 1 do pierwszych dwóch parm (terminale ANSI)

            %? expr %t częśćthen %e częśćelse %;
                      if-then-else, %e częśćelse jest opcjonalna.
                      Dopuszalne są else-if a'la Algol 68:
                      %? c1 %t b1 %e c2 %t b2 %e c3 %t b3 %e c4 %t b4 %e %;
                      ci są warunkami, bi są ciałami.

       Operacje  binarne  są  w  postaci  postfiksowej, z operandami w typowej
       kolejności. Znaczy to, że aby  uzyskać  x-5,  można  użyć  "%gx%{5}%-".
       Zmienne %P i %g są stałe podczas analizy łańcucha specjalnego.

       Rozważ  GP2645,  w  którym  aby  dostać  się  do 3 wiersza i 12 kolumny
       należało wysłać \E&a12c03Y, wypełnionego na 6  milisekund.  Zauważ,  że
       kolejność  wierszy  i  kolumn  jest tu w inwersji i że są one drukowane
       jako   dwie   cyfry.    W    efekcie    jego    właściwość    cup    to
       "cup=6\E&%p2%2dc%p1%2dY".

       Microterm  ACT-IV  wymaga  poprzedzenia  bieżącego  wiersza  i  kolumny
       znakiem   ^T   i    zakodowania    wiersza    i    kolumny    binarnie,
       "cup=^T%p1%c%p2%c".   Terminale,  używające  "%c"  muszą  być  w stanie
       cofnąć (backskpace) kursor (cub1) i przesuwać go o jedną linię  w  górę
       na ekranie (cuu1).  Jest to konieczne, gdyż nie zawsze bezpiecznie jest
       transmitować \n, ^D i \r, ponieważ system może je zmienić lub  pominąć.
       (funkcje  biblioteczne,  obsługujące  terminfo ustawiają tryby tty tak,
       aby tabulacje nigdy nie były rozwijane, więc \t może wysyłać bez  obaw.
       Jest to sprawa pierwszej wagi dla Ann Arbor 4080.)

       Ostatnim  przykładem  jest  LSI  ADM-3a, który używa offsetów wiersza i
       kolumny ze spacją, "cup=\E=%p1%' '%+%c%p2%' '%+%c".  Po wysłaniu `\E=',
       pierwszy  parametr  jest  wpychany na stos, wpychana jest wartość ASCII
       dla spacji (32), są one następnie dodawane (wpychanie na stos ich  sumy
       i   zamiana  dwóch  poprzednich  wartości)  i  produkowane  jako  znak.
       Następnie to samo jest wykonywane dla drugiego parametru.   Możliwe  są
       również bardziej złożone działania arytmetyczne na stosie.

   Ruchy kursora
       Jeśli  terminal  posiada szybki sposób na zerowanie pozycji kursora (na
       lewy górny narożnik ekranu), to może to być podane jako home; podobnie,
       szybkim sposobem dostania się do dolnego lewego narożnika jest ll; może
       to wykonywać przejście w górę z pomocą cuu1  z  pozycji  zerowej,  lecz
       program  samodzielnie  nie  powinien tego robić (chyba że ll tak robi),
       gdyż aplikacja nie może nic zakładać o rezultacie przejścia  w  górę  z
       pozycji   zerowej.   Zauważ,   że  zerowanie  pozycji  jest  równoważne
       adresowaniu na (0,0): na lewy górny narożnik ekranu, a nie pamięci.  (Z
       tej  przyczyny  sekwencja  \EH  terminali  HP nie może być używana jako
       home.)

       Jeśli terminal posiada bezwzględne (absolute) adresowanie  wierszy  lub
       kolumn,   to   może   to   być   podane   jako  pojedyncze  właściwości
       parametryczne, hpa (bezwzględna pozycja  pozioma)  i  vpa  (bezwzględna
       pozycja pionowa).  Czasami są one krótsze niż bardziej ogólne sekwencje
       dwuparametrowe (np. dla hp2645) i mogą być używane  chętniej  niż  cup.
       Jeśli  istnieją  sparametryzowane ruchy lokalne (np. przesuń n spacji w
       prawo), to mogą być one podane jako cud, cub, cuf i cuu  z  pojedynczym
       parametrem,  określającym  ilość  spacji przesunięcia.  Sekwencje te są
       przydatne jeśli terminal nie ma cup, tak jak np. TEKTRONIX 4025.

       Jeśli terminal podczas przcy z programem, używającym  właściwości  musi
       być  w  specjalnym trybie działania, to kody wchodzenia i wychodzenia z
       tego trybu mogą być podane jako smcup i rmcup.   Przyszło  to  m.in.  z
       terminali  takich  jak  Concept,  który  miał  więcej  niż jedną stronę
       pamięci. Jeśli  terminal  ma  tylko  związane  z  pamięcią  adresowanie
       kursora  (a  nie  związane  z  ekranem)  to jednoekranowe okno musi być
       poprawione w celu wymuszenia poprawnego działania adresowania  kursora.
       Jest  to  używane  również dla TEKTRONIX 4025, gdzie smcup ustawia znak
       komendy na ten, używany  przez  terminfo.  Jeśli  sekwencja  smcup  nie
       odtworzy  ekranu  po wysłaniu sekwencji rmcup (do stanu sprzed wysłania
       rmcup), podaj nrrmc.

   Czyszczenie obszarów
       Jeśli terminal może czyścić ekran od bieżącej pozycji do  końca  linii,
       pozostawiając kursor na swoim miejscu, to powinno to być określone jako
       el. Jeśli terminal może czyścić  ekran  od  końca  linii,  do  bieżącej
       pozycji,  pozostawiając  kursor na miejscu, to powinno to być określone
       jako el1. Jeśli terminal może czyścić  ekran  od  bieżącej  pozycji  do
       końca  wyświetlacza,  to  powinno  to  być  określane  jako ed. Ed jest
       zdefiniowane jedynie  dla  pierwszej  kolumny  linii.  (Może  więc  być
       symulowane   przez   żądanie  kasowania  wielkiej  liczby  linii  jeśli
       prawidziwe ed nie jest dostępne.)

   Wstawianie/kasowanie linii i ruchy pionowe
       Jeśli terminal może otworzyć nową pustą linię  przed  linią,  w  której
       znajduje  się  kursor,  to  powinno  to być okreslone jako il1; jest to
       obsługiwane tylko z  pierwszej  pozycji  w  linii.  Kursor  musi  potem
       pojawić  się na nowej, pustej linii. Jeśli terminal może kasować linię,
       na której znajduje się kursor, to powinno to być określone  przez  dl1;
       może  to  być obsługiwane tylko z pierwszej pozycji na kasowanej linii.
       Wersje il1 i dl1, które mogą pobierać parametr, określający  ile  linii
       skasować lub wstawić, mogą być podawane jako il i dl.

       Jeśli terminal ma ustawialny region przewijania (jak vt100), to komenda
       ustawiająca to może być opisana z pomocą właściwości csr,  pobierającej
       dwa  parametry:  górną  i  dolną  linię  regionu  przewijania.  Pozycja
       kursora jest po użyciu tej komendy niestety niezdefiniowana.

       Efekt wstawienia lub skasowania linii można osiągnąć z użyciem  csr  na
       odpowiednio   wybranym   regionie;   komendy  sc  i  rc  (zachowania  i
       odtworzenia kursora) mogą być  wówczas  przydatne  do  zapewnienia,  że
       zestawiony  łańcuch  nie  przesunie  kursora.  (Zauważ,  że  biblioteka
       ncurses(3X) dokonuje takiej  syntezy  automatycznie,  więc  nie  musisz
       komponować łańcuchów wstawienia/skasowania z użyciem csr).

       Innym  sposobem  tworzenia  wstawiania  i  kasowania  może  być  użycie
       kombinacji właściwości index  i  memory-lock,  obecnych  na  niektórych
       terminalach  (takich,  jak  HP-700/90,  które  jednak posiadają również
       insert/delete).

       Wstawianie linii na górze lub u dołu ekranu może być dokonywane również
       z  użyciem  ri  lub  ind,  co  często  może się okazać szybsze nawet od
       istniejących właściwości.

       Wartość logiczna non_dest_scroll_region  powinna  być  ustawiona  jeśli
       każde  okno  przewijające jest efektywnie widokiem na obraz o rozmiarze
       ekranu.  Aby przetestować istnienie tej właściwości,  utwórz  w  środku
       ekranu  region  przewijania, napisz coś na dolnej linii, przesuń kursor
       na początek regionu i wykonaj ri, a następnie dl1 lub ind.  Jeśli  dane
       przewijane  z  dołu regionu ri pojawią się ponownie, to przewijanie nie
       jest destruktywne. Curses z Systemu V i XSI oczekują, że ind, ri,  indn
       i  rin  symulują przewijanie destruktywne; ich dokumentacja ostrzega by
       nie definiować csr, chyba że jest to prawda.  Ta  implementacja  curses
       jest  bardziej  liberalna  i  dokona jawnego kasowania po przewinięciu,
       jeśli zdefiniowane jest ndstr.

       Jeśli terminal  potrafi  definiować  okno  jako  część  pamięci,  która
       współpracuje ze wszystkimi komendami, to powinno być to określone przez
       parametryzowany łańcuch wind.  Cztery parametry to kolejno:  początkowe
       i końcowe linie pamięci, początkowe oraz kończące kolumny pamięci.

       Jeśli  terminal  potrafi  zachowywać  pamięć  wyświetlacza  powyżej, to
       podana powinna być właściwość  da;  jeśli  zachowana  może  być  pamięć
       wyświetlacza  poniżej,  to  podana powinna być właściwość db.  Wskazują
       one, że kasowanie linii lub przewijanie może spowodować pojawienie  się
       niezerowych  linii  z  dołu  i  że  przewijanie  w tył z pomocą ri może
       przynieść niezerowe linie z góry.

   Wstawianie/kasowanie znaku
       Istnieją dwa podstawowe rodzaje inteligentnych  terminali,  jeśli  brać
       pod  uwagę  obsługę  wstawiania/kasowania  znaków opisywaną w terminfo.
       Najpopularniejsze  operacje  wstawiania/kasowania  znaków  tyczą  tylko
       znaków  w  bieżącej  linii  i  sztywno  przesuwają znaki w kierunku jej
       końca. Inne terminale,  takie  jak  Concept  100  i  Perkin  Elmer  Owl
       rozróżniają   spacje   wstukane   i   niewstukane,   przesuwając   przy
       wstawianiu/kasowaniu aż do najbliższej niewstukanej spacji, która  jest
       następnie  albo  kasowana,  albo  rozwijana na dwie niewstukane spacje.
       Rodzaj terminala można określić przez wyczyszczenie ekranu i  następnie
       wpisanie  tekstu,  rozdzielonego  ruchami  kursora. Wstukaj przy użyciu
       ruchów kursora (nie spacji) "abc    def". Następnie ustaw kursor  przed
       "abc"  i  włącz  terminal  w  tryb  wstawiania. Jeśli wpisywanie znaków
       powoduje, że reszta linii sztywno przesuwa się w prawo, to terminal nie
       rozróżnia spacji wstukanych od niewstukancyh. Jeśli "abc" przesunie się
       do "def" które następnie zacznie się posuwać wraz z  nim  aż  do  końca
       linii,  to  masz drugi rodzaj terminala. W tym wypadku powinieneś podać
       właściwość in, która oznacza "insert null".  Chociaż  są  to  logicznie
       dwa  oddzielne atrybuty (jednoliniowy vs.  wieloliniowy tryb wstawiania
       i  specjalne  traktowanie  niewstukanych   spacji),   nie   znaleźliśmy
       terminala,   którego   tryb   wstawiania   nie  mógłby  zostać  opisany
       pojedynczym atrybutem.

       Terminfo może opisywać zarówno terminale posiadające  tryb  wstawiania,
       jak  i  terminale, które wysyłają prostą sekwencję do otwierania pustej
       pozycji w bieżącej linii. Jako smir podaje się sekwencję  wchodzenia  w
       tryb  wstawiania. Jako rmir podaje się sekwencje do wychodzenia z trybu
       wstawiania. Jako ich1 podaje się sekwencję,  którą  należy  wysłać  tuż
       przed  wysłaniem  wstawianego  znaku.  Większość terminali z prawdziwym
       trybem wstawiania nie daje ich1; terminale, które wysyłają sekwencje do
       otwierania pozycji ekranu podają ją.

       Jeśli twój terminal posiada obydwie te właściwości, to zwykle wybierany
       jest tryb wstawiania. Technicznie, nie powinieneś podawać obydwu, chyba
       że  terminal  wymaga  ich  łącznego  działania. Niektóre nie-curses-owe
       aplikacje mogą się  pogubić  jeśli  podane  są  obydwie;  symptomem  są
       podwojone znaki we wstawianiu używającym odświeżania. Wymaganie to jest
       obecnie rzadkie; większość sekwencji  ich  nie  wymaga  poprzedzającego
       smir,  a  większość trybów wstawiania smir nie wymaga ich1 przed każdym
       znakiem. Dlatego curses zakłada, że  tak  właśnie  jest  i  używa  albo
       rmir/smir albo ich/ich1 (ale nie obydwu). Jeśli musisz napisać opis dla
       ncurses,  dla  terminala,  wymagającego  obydwu  tych  działań,  załącz
       sekwencje rmir/smir w ich1.

       Jeśli  po  wstawieniu  wymagane  jest dopełnienie, podaj je jako liczbę
       milisekund w ip (opcja  łańcuchowa).  Wszelkie  inne  sekwencje,  które
       wymagają  wysłania  po  wstawieniu  pojedynczego znaku również mogą być
       podane w ip. Jeśli twój terminal wymaga zarówno umieszczenia w  `trybie
       wstawiania'  jak i specjalnego kodu do poprzedzania każdego wstawianego
       znaku, to podane mogą być  smir/rmir  oraz  ich1  i  obydwie  sekwencje
       zostaną  użyte.   Właściwość  ich z jednym parametrem powtarza rezultat
       ich1 n-krotnie.

       Jeśli między znakami wpisywanymi nie w trybie wstawiania wymagane  jest
       wypełnianie, podaj je jako liczbę milisekund wypełniania w rmp(???).

       Czasami konieczne jest przesunięcie się w trybie wstawiania, aby usunąć
       znaki z tej samej linii (np. jeśli za pozycją wstawiania  znajduje  się
       tabulacja).  Jeśli twój terminal zezwala na ruchy podczas przebywania w
       trybie wstawiania, to powinien mieć właściwość mir,  przyspieszającą  w
       tym  przypadku wstawianie. Pominięcie mir ma wpływ jedynie na szybkość.
       Niektóre terminale (np. Datamedia) nie mogą mieć  mir,  gdyż  ich  tryb
       wstawiania działa tak, że na to nie pozwala.

       Do kasowania pojedynczego znaku można podać dch1, albo dch do kasowania
       z parametrem n,  który  mówi,  by  skasować  n  znaków,  lub  sekwencje
       wchodzenia (smdc) i wychodzenia (rmdc) z trybu kasowania (dowolny tryb,
       którego terminal wymaga dla zadziałania dch1).

       Komenda do kasowania n znaków (równoważna  wypuszczeniu  n  spacji  bez
       przesuwania kursora) może być określona jako ech z jednym parametrem.

   Podświetlanie, podkreślanie i wizualne dzwonki
       Jeśli   twój   terminal   ma   jeden   lub  więcej  rodzajów  atrybutów
       wyświetlania, to mogą one być reprezentowane na wiele różnych sposobów.
       Jedną  z  postaci wyświetlacza powinieneś określić jako tryb wyrniony
       (standout), reprezentujący dobry, kontrastowy, łatwy do odczytu  format
       podświetlania  komunikatów  o  błędach  i  innych  rzeczy  wymagających
       zwrócenia uwagi. (Jeśli masz wybór, to dobrym  pomysłem  jest  inwersja
       kolorów  plus średnie rozjaśnienie, lub też sama inwersja.)  Sekwencje,
       przeznaczone do  wchodzenia  i  wychodzenia  z  trybu  wyróżnionego  są
       podawane  jako  smso  i  rmso.   Jeśli  kod  zmiany  na tryb wyróżniony
       pozostawia na ekranie jedną lub dwie spacje (jak w TVI  912  i  Teleray
       1061), to należy podać xmc, określające ile spacji jest pozostawianych.

       Kody rozpoczynania podkreślenia i jego kończenia mogą być podawane jako
       smul  i rmul. Jeśli terminal posiada kod podkreślania bieżącego znaku i
       przesuwania kursora o jedną pozycję w prawo (jak w Microterm Mime),  to
       może to być podane jako uc.

       Inne  właściwości  wchodzenia  w  różne  tryby  podświetlenia  to blink
       (migotanie)  bold  (wytłuszczenie,  lub  rozjaśnienie)  dim   (średnia-
       jasność) invis (tekst niewidzialny, lub `spacjowanie') prot (chronione)
       rev (inwersja kolorów) sgr0 (wyłącz wszystkie  tryby  atrybutów)  smacs
       (wejdź  w  tryb  alternatywnego  zestawu znaków) i rmacs (wyjdź z trybu
       alternatywnego zestawu znaków).  Włączenie dowolnego z  tych  trybów  w
       pojedynkę może lub może nie wyłączyć innych trybów.

       Jeśli  istnieje  sekwencja  do ustawiania kombinacji trybów, to powinna
       być podana jako sgr (ustaw atrybuty), i pobierać 9 parametrów.  Każdy z
       parametrów  może  być zerowy lub niezerowy, wskazując tak czy odpowieni
       atrybut jest włączony czy nie. 9 parametrów  to  kolejno:  wyróżnienie,
       podkreślenie,   inwersja,  migotanie,  średnia-jasność,  wytłuszczenie,
       spacjowanie, chornienie, alternatywny  zestaw  znaków.   Nie  wszystkie
       tryby  muszą  być  wspierane  przez  sgr, powinny być natomiast te, dla
       których istnieją oddzielne komendy atrybutów.

       Na przykład DEC vt220 wspiera większość trybów:

              parametr tparm       atrybut       sekwencja specjalna

              brak             brak              \E[0m
              p1               wyróżniony        \E[0;1;7m
              p2               podkreślony       \E[0;4m
              p3               inwersja          \E[0;7m
              p4               migotanie         \E[0;5m
              p5               średnia-jasność   niedostępne
              p6               wytłuszczenie     \E[0;1m
              p7               niewidzialność    \E[0;8m
              p8               chroń             nieużywane
              p9               altznaki          ^O (off) ^N (on)

       Każdą  sekwencję  specjalną  rozpoczynamy   od   wyłączenia   wszelkich
       istniejących  trybów, gdyż nie ma prostego sposobu na określenie czy są
       aktywne. Tryb wyróżnienia jest zestawiany jako  kombinacja  inwersji  i
       wytłuszczenia.   Terminal  vt220  ma  tryb  ochronny,  lecz nie jest on
       wykorzystywany  w  sgr,  gdyż  chroni  również   znaki   ekranu   przed
       kasowaniami  stacji.  Tryb alternatywnego zestawu znaków jest też inny;
       różni się tym, że jest albo ^O, albo ^N, zależnie  czy  jest  wyłączony
       czy włączony.  Jeśli wszystkie tryby są włączone, to wynikową sekwencją
       jest \E[0;1;4;5;7;8m^N.

       Niektóre sekwencje są wspólne dla różnych trybów. Na przykład  ;7  jest
       produkowane  dla  prawdziwych  p1  lub p3, tj. jeśli włączony jest tryb
       standout lub inwersji.

       Spisanie powyższych sekwencji wraz z ich zależnościami daje

             sekwencja      kiedy wypuścić       translacja terminfo

             \E[0        zawsze                  \E[0
             ;1          gdy p1 lub p6           %?%p1%p6%|%t;1%;
             ;4          gdy p2                  %?%p2%|%t;4%;
             ;5          gdy p4                  %?%p4%|%t;5%;
             ;7          gdy p1 lub p3           %?%p1%p3%|%t;7%;
             ;8          gdy p7                  %?%p7%|%t;8%;
             m           zawsze                  m
             ^N lub ^O   gdy p9 ^N, inaczej ^O   %?%p9%t^N%e^O%;

       Wstawienie tego wszystkiego do sekwencji sgr daje:

           sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;
               %?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,

       Pamiętaj, że jeśli podajesz sgr, to musisz też podać sgr0.

       Terminale z ``magic cookie''  (magiczne  ciasteczko)  (xmc)  wystawiają
       specjalne  ``ciasteczka''  gdy  odbierają  sekwencje  ustawiania trybu,
       które w zasadzie wpływają na algorytm wyświetlania, a nie na  dodatkowe
       bity  dla każdego znaku.  Niektóre terminale, jak HP 2621 automatycznie
       wychodzą z trybu wyróżnionego gdy kursor przechodzi do nowej linii, lub
       gdy jest przeadresowany.  Programy używające trybu wyróżnionego powinny
       z niego wychodzić przed przesunięciem kursora lub wysłaniem znaku nowej
       linii.  Zwolnione  mogą  być  z tego jedynie przy obecności właściwości
       msgr, zapewniającej, że przemieszczanie się w trybie  wyróżnionym  jest
       bezpieczne.

       Jeśli  terminal  posiada  mechanizm  zapalania  ekranu dla sygnalizacji
       błędu (zamiennik dzwonka), to może to być podane jako flash.  Nie  może
       to przemieszczać kursora.

       Jeśli  kursor  może  być  bardziej  widoczny  niż  zwykle,  to podaj tą
       sekwencję jako  cvvis.   Jeśli  istnieje  sposób  na  uniewidzialnienie
       kursora,  to  podaj to jako właściwość civis.  Właściwość cnorm powinna
       dawać możliwość powrotu do normalnego kursora.

       Jeśli twój terminal potrafi poprawnie generować podkreślone znaki  (bez
       specjalnych  kodów),  to  jeśli  [nawet]  nie  wykonuje  nadstukiwania,
       powinieneś  nałożyć  na  niego  właściwość  ul.   Jeśli   nadstukiwanie
       pozostawia widzialnym znak `pod spodem', to należy podać właściwość os.
       Jeśli nadstukiwania są kasowalne spacją, to  powinno  to  być  wskazane
       właściwością eo.

   Keypad i klawisze funkcyjne
       Jeśli  terminal  posiada  keypad,  który  przesyła kody przy naciskaniu
       klawiszy, to można podać te informacje. Zauważ, że nie można obsługiwać
       terminali  gdzie  keypad działa tylko lokalnie (tyczy się to np. części
       klawiszy HP 2621).  Jeśli keypad  można  ustawić  na  przesyłanie,  lub
       nieprzesyłanie, to należy podać te kody jako smkx i rmkx.  W przeciwnym
       wypadku zakłada się, że keypad zawsze przesyła  kody.  Kody  przesyłane
       przez  strzałki  w  lewo,  prawo,  górę, dół oraz klawisz home mogą być
       podawane jako kcub1, kcuf1, kcuu1, kcud1, i khome.  Jeśli  dostępne  są
       klawisze  funkcyjne,  takie  jak f0, f1, ..., f10, to ich kody mogą być
       podane jako kf0, kf1, ..., kf10.  Jeśli klawisze te mają inne  etykiety
       niż  domyślne  f0  do  f10,  to można je podać jako lf0, lf1, ...,fl10.
       Można również podać kody wysyłane przez inne  klawisze  specjalne:  kll
       (home  down),  kbs (backspace), ktbc (czyść wszystkie tabulacje), kctab
       (czyść tabulator w tej kolumnie), kclr (klawisz czyszczenia ekranu klub
       wymazywania),  kdch1  (klawisz  kasowania  (delete)),  kdl1  (kasowanie
       linii), krmir (wyjście z trybu wstawiania), kel (czyszczenie  do  końca
       linii), ked (czyszczenie do końca ekranu), kich1 (wstaw znak, lub wejdź
       w tryb wstawiania), kil1 (wstaw  linię),  knp  (następna  strona  (next
       page)),  kpp  (poprzednia  strona  (previous  page)), kind (przewijaj w
       przód), kri (przewijaj w tył), khts (ustaw w tej  kolumnie  tabulator).
       Dodatkowo,  jeśli  keypad  posiada  tablicę 3x3 klawiszy, zawierającą 4
       klawisze strzałek, to pozostałe pięć klawiszy można określić jako  ka1,
       ka3,  kb2,  kc1  oraz  kc3.   Klawisze te są przydatne gdy potrzebne są
       efekty kierunkowego padu 3x3.

       Łańcuchy programowania klawiszy  funkcyjnych  mogą  być  podawane  jako
       pfkey,  pfloc  oraz  pfx.   Łańcuch do programowania etykiet ekranowych
       powinien być podawany jako pln. Każdy  z  tych  łańcuchów  pobiera  dwa
       parametry:  numer  kalwisza  funcyjnego do programowania (0 do 10) oraz
       łańcuch,  na  który  go  zaprogramować.  Numery  klawiszy   funkcyjnych
       przekraczające  ten zakres mogą programować niezdefiniowane klawisze, w
       sposób zależny od terminala.  Różnica między właściwościami  polega  na
       tym,   że  pfkey  powoduje  iż  naciśnięcie  klawisza  jest  równoważne
       wklepaniu przez użytkownika danego łańcucha; pfloc powoduje, że łańcuch
       jest  wykonywany przez terminal lokalnie; pfx powoduje, że łańcuch jest
       przesyłany do komputera.

       Właściwości nlab, lw i  lh  definiują  liczbę  programowalnych  etykiet
       ekranowych  wraz z ich szerokością i wysokością. Jeśli istnieją komendy
       do wyłączania etykiet, to powinny być podane w smln i rmln.  smln  jest
       zazwyczaj  wysyłane  po  jednej, lub większej ilości sekwencji pln, aby
       upewnić się, że zmiana się uwidoczni.

   Tabulacje i inicjalizacja
       Jeśli terminal posiada sprzętowe tabulacje,  to  komenda  przejścia  do
       następnego  tabulatora  może  być  podana  jako  ht (zwykle control I).
       Komenda ``lewej-tabulacji'',  przenosząca  w  lewo  do  poprzedzającego
       tabulatora  może  być  podana jako cbt.  Konwencja mówi, że jeśli tryby
       teletype wskazują, że tabulacje są rozwijane przez komputer, a  nie  są
       przesyłane  do  terminala,  to   programy nie powinny używać ht czy cbt
       nawet jeśli są one obecne, gdyż użytkownik  może  nie  mieć  prawidłowo
       ustawionych  tabulatorów.  Jeśli terminal posiada sprzętowe tabulatory,
       które sa początkowo ustawiane co  n  spacji,  to  powinien  być  podany
       parametr   numeryczny   it,  pokazujący  odstępy  między  tabulatorami.
       Zazwyczaj jest to używane przez komendę tset do określania czy ustawiać
       tryb  dla  sprzętowego  rozwijania tabulacji i czy ustawiać tabulatory.
       Jeśli terminal posiada tabulatory, które można  zachować  w  nieulotnej
       pamięci, to opis terminfo może zakładać, że są one poprawnie ustawione.

       Inne właściwości zawierają łańcuchy  is1,  is2  oraz  is3,  służące  do
       inicjalizacji terminala, iprog, czyli ścieżkę do programu, używanego do
       inicjalizacji terminala  oraz  if,  czyli  nazwę  pliku,  zawierającego
       długie łańcuchy inicjalizacyjne.  Łańcuchy te  powinny ustawić terminal
       na tryby współpracujące z pozostałym opisem terminfo.   Są  one  zwykle
       przesyłane  do  terminala  poprzez opcję init programu tput przy każdym
       logowaniu użytkownika.  Są one  drukowane  w  następującej  kolejności:
       uruchom  program  iprog;  wyślij  is1; is2; ustaw marginesy przy użyciu
       mgc, smgli smgr; ustaw tabulatory przy użyciu tbc i hts; wydrukuj  plik
       if; i w końcu wyślij is3.

       Większość   inicjalizacji  jest  wykonywana  w  is2.   Tryby  specjalne
       terminala można ustawiać bez duplikowania łańcuchów, wstawiając wspólne
       sekwencje  do  is2,  a  specjalne  elementy  do  is1  oraz  is3.   Para
       sekwencji, która dokonuje twardego resetu z kompletnie nieznanego stanu
       może być podobnie podawana jako rs1, rs2, rf i rs3, analogicznie do is2
       oraz if.  Łańcuchy te są  wysyłane  przez  program  reset,  służący  do
       naprawiania  terminala gdy ten wejdzie w dziwny stan. Komendy zazwyczaj
       są umieszczane w rs1, rs2 rs3  i  rf  jedynie  jeśli  dają  denerwujące
       efekty na ekranie i nie są konieczne podczas logowania sie. Na przykład
       komenda ustawiania vt100 na 80 kolumn normalnie jest częścią is2,  lecz
       powoduje denerwujące zakłócenie ekranu i zwykle nie jest wymagana, gdyż
       terminal normalnie już jest w trybie 80-kolumnowym.

       Jeśli istnieją komendy do ustawiania i czyszczenia tabulatorów, to mogą
       być  one  podawane  jako  tbc (czyść wszystkie tabulatory) i hts (ustaw
       tabulator w bieżącej kolumnie w każdym wierszu).  Jeśli  do  ustawienia
       tabulatorów wymagana jest bardziej skomplikowana sekwencja, to może być
       ona umieszczona w is2 lub if.

   Opóźnienia i wypełnianie
       Wiele starszych i wolniejszych terminali nie obsługuje ani XON/XOFF ani
       potwierdzania  DTR.  Wliczać  w  to  można  terminale  hardcopy i pewne
       archaiczne CRT (np, DEC VT100).  Wymagają  one  wypełniania  znaków  po
       pewnych ruchach kursora i zmianach ekranu.

       Jeśli  terminal  używa  potwierdzania xon/xoff dla sterowania przepływu
       (to znaczy automatycznie  wysyła  ^S  do  hosta  gdy  bufory  wejściowe
       zbliżają  się do przepełnienia), ustaw xon.  Właściwość ta powstrzymuje
       emisję wypełniania. Możesz też  ustawić  ją  dla  mapowanych  w  pamięć
       urządzeń  konsolowych,  które efektywnie nie mają ograniczeń szybkości.
       Informacje wypełniające powinny  wciąż  być  dołączane,  aby  procedury
       mogły  lepiej  decydować  o względnych kosztach, lecz rzeczywiste znaki
       wypełnienia nie będą wysyłane.

       Jeśli podane jest pb (szybkość wypełniania), to  wypełnianie  nie  jest
       używane  przy  szybkościach  niższych  niż  pb.  Jeśli wpis nie zawiera
       szybkości, to emisja wypełniania w pełni zależy od xon.

       Jeśli terminal wymaga innych niż zero znaków wypełniania, to powinno to
       być  podawane  jako  pad.  Z łańcucha pad używany jest jedynie pierwszy
       znak.

   Linie statusu
       Niektóre terminale posiadają dodatkowe `linie statusu',  które  nie  są
       normalnie  używane  przez  oprogramowanie  (a  więc  nie liczą się jako
       właściwość lines terminala).

       Najprostszym przypadkiem jest  linia  statusu,  którą  można  adresować
       kursorem,  lecz  nie  jest  częścią  podstawowego  regionu  przewijania
       ekranu; taką linię statusu posiada Heathkit H19 oraz 24 liniowe VT100 z
       23-liniowym  regionem  przewijania  ustawianym  na starcie. Sytuacja ta
       jest wskazywana przez właściwość hs.

       Niektóre terminale z liniami statusu wymagają specjalnych sekwencji aby
       dostać  się  do  tej  linii.  Mogą  one  być  wyrażane  jako łańcuchy z
       pojedynczymi parametrami tsl, które pobierają pozycję kursora  względem
       zerowej  kolumny linii statusu. Właściwość fsl musi powracać do pozycji
       ekranu głównego, gdzie wywołano ostatnie  tsl.  Możliwe,  że  konieczne
       będzie  osadzenie  wartości  łańcuchowych  sc (zachowanie kursora) i rc
       (odtworzenie kursora) w tsl i fsl.

       Linia  statusu  jest  zazwyczaj  tej  samej  szerokości  co   szerokość
       terminala.   Gdy nie jest to prawdą, należy podać właściwość numeryczną
       wsl.

       Komend kasowania linii statusu może być podawana jako dsl.

       Wartość logiczna eslok określa, że sekwencje specjalne, tabulacje  itp.
       działają w linii statusu normalnie.

       Implementacja  ncurses  nie  używa jeszcze żadnej z tych właściwości Są
       one tu udokumentowane na wypadek, gdyby stały się istotne.

   Grafika liniowa
       Wiele terminali  posiada  alternatywne  zestawy  znaków,  przydatne  do
       rysowania  figur.  Terminfo  i curses mają wsparcie do rysowania znaków
       wspieranych przez VT100 plus niektóre znaki z AT&T 4410v1. Alternatywny
       zestaw znaków może być określony właściwością acsc.

               Nazwa                 Nazwa              Ascii            Nazwa
               glifu                 ACS                domyślnie        VT100
       UK znak funta                 ACS_STERLING       f                }
       strzałka w dół                ACS_DARROW         v                .
       strzałka w lewo               ACS_LARROW         <                ,
       strzałka w prawo              ACS_RARROW         >                +
       strzałka w górę               ACS_UARROW         ^                -
       plansza kwadratów             ACS_BOARD          #                h
       kula                          ACS_BULLET         o                ~
       plansza szachowa              ACS_CKBOARD        :                a
       symbol stopnia                ACS_DEGREE         \                f
       diamond                       ACS_DIAMOND        +                `
       większylubrówny               ACS_GEQUAL         >                z
       greckie pi                    ACS_PI             *                {
       linia poprzeczna              ACS_HLINE          -                q
       symbol latarni                ACS_LANTERN        #                i
       duży plus/skrzyżowanie        ACS_PLUS           +                n
       mniejszylubrówny              ACS_LEQUAL         <                y
       lewy niski narożnik           ACS_LLCORNER       +                m
       prawy niski narożnik          ACS_LRCORNER       +                j
       nierówny                      ACS_NEQUAL         !                |
       plus/minus                    ACS_PLMINUS        #                g
       scan line 1                   ACS_S1             ~                o
       scan line 3                   ACS_S3             -                p
       scan line 7                   ACS_S7             -                r

       scan line 9                   ACS_S9             _                s
       czysty blok kwadratowy        ACS_BLOCK          #                0
       T wskazujące w dół            ACS_TTEE           +                w
       T wskazujące w lewo           ACS_RTEE           +                u
       T wskazujące w prawo          ACS_LTEE           +                t
       T wskazujące w górę           ACS_BTEE           +                v
       lewy wysoki narożnik          ACS_ULCORNER       +                l
       prawy wysoki narożnik         ACS_URCORNER       +                k
       linia pionowa                 ACS_VLINE          |                x

       Najlepszym   sposobem   na  zdefiniowanie  zestawu  graficznego  nowego
       urządzenia jest dodanie do kopii tej tabeli  kolumny,  podającej  znak,
       jaki   (po   emisji   między  smacs/rmacs)  został  wyrenderowany  jako
       odpowiadająca [kodowi] grafika. Następnie  przeczytaj  pary  VT100/twój
       terminal z prawa na lewo--będzie to twój łańcuch ACSC.

   Obsługa kolorów
       Większość  terminali  kolorowych to albo terminale typu Tektronix, albo
       typu HP. Te pierwsze mają predefiniowany zestaw  N  kolorów  (N  zwykle
       wynosi 8) i mogą ustawiać w komórkach znakowych niezależnie kolor tła i
       pierwszego planu, tworząc N*N par kolorów.  Na  terminalach  HP  należy
       ustawiać  każdą  parę  kolorów  osobno  (tło  i  pierwszy  plan  nie są
       ustawiane  niezależnie).  Można  zdefiniować  M  par  kolorów  z    2*M
       dostępnych kolorów. Terminale zgodne z ANSI są typu Tektronix.

       Pewne   podstawowe   właściwości   kolorów   są  niezależne  od  metody
       kolorowania.  Waściwości numeryczne colors i pairs określają maksymalną
       liczbę  kolorów i par kolorów, które można naraz wyświetlać. Łańcuch op
       (para oryginalna) ustawia tło i  pierwszy  plan  na  domyślne  wartości
       terminala.   Łańcuch  oc  resetuje  wszystkie  kolory i pary kolorów na
       domyślne wartości terminala. Niektóre  terminala  (włącznie  z  wieloma
       emulatorami terminali PC) kasuje obszary ekranu z obecnym tłem, zamiast
       włączyć domyślne tło; powinny one posiadać właściwość logiczną bce.

       Aby zmienić bieżący kolor pierwszego planu lub tła  na  terminalu  typu
       Tektronix,  należy użyć setaf (ustaw pierwszy plan ANSI) i setab (ustaw
       tło ANSI). Pobierają one  jeden  parametr--numer  koloru.  Dokumentacja
       SVr4  opisuje  tylko  setaf/setab;  draft XPG4 mówi, że "Jeśli terminal
       obsługuje sekwencje specjalne  ANSI  do  ustawiania  tła  i  pierwszego
       planu,  to  powinny  być one zakodowane odpowiednio jako setab i setaf.
       Jeśli terminal obsługuje inne sekewencje  specjalne  ustawiania  tła  i
       pierwszego planu, to powinny być one kodowane jako setb i setf. Funkcja
       vidputs() i funkcje odświeżania używają (o ile są zdefiniowane) setaf i
       setab."

       Właściwości  setaf/setab  i  setf/setb  pobierają  pojedynczy  argument
       numeryczny.  Wartości  0-7  są   przenośnie   zdefiniowane   w   sposób
       następujący   (środkowa  kolumna  to  symboliczne  wartości  #define  z
       nagłówków bibliotek curses). Sprzęt terminala może mapować je jak chce,
       lecz  wartości  RGB  określają  normalne lokacje w przestrzeni kolorów.
       space.

                  Kolor         #define       Wartość       RGB
                  czarny      COLOR_BLACK        0      0, 0, 0
                  czerwony    COLOR_RED          1      max,0,0
                  zielony     COLOR_GREEN        2      0,max,0
                  żółty       COLOR_YELLOW       3      max,max,0
                  niebieski   COLOR_BLUE         4      0,0,max
                  fioletowy   COLOR_MAGENTA      5      max,0,max
                  cyjankowy   COLOR_CYAN         6      0,max,max
                  biały       COLOR_WHITE        7      max,max,max

       Na terminalu typu HP używa się scp z numerem pary kolorów do ustawienia
       obecnej pary kolorów.

       Na terminalu Tektronix może być obecna właściwość ccc. Wskazuje ona, że
       kolory można modyfikować. W tej sytuacji właściwość initc pobiera numer
       koloru  (0  do  colors-1)  i  trzy  dalsze  parametry, opisujące kolor.
       Parametry te są domyślnie interpretowane jako RGB.  Jeśli  obecna  jest
       właściwość  logiczna  hls,  to są one interpretowane jako parametry HLS
       (Hue, Lightness, Saturation). Zakresy zależą od terminala.

       Na terminalu w  rodzaju  HP,  initp  może  dawać  możliwość  zmieniania
       wartości  pary  kolorów. Pobiera 7 parametrów; numer pary kolorów (0 do
       max_pairs-1) oraz dwie trójki, opisujące najpierw tło, a potem pierwszy
       plan. Parametry te określają RGB lub HLS, zależnie od hls.

       Na    niektórych    terminalach    kolorowych,    kolory   kolidują   z
       podświetleniami.  Można zarejestrować te kolizje  we  właściwośći  ncv.
       Jest  to  maska  bitowa  atrybutów,  które  nie  mogą  być używane przy
       włączonych kolorach.  Odpowiedniość między atrybutami rozumianymi przez
       curses jest następująca:

                          Atrybut        Bit   Dziesiętnie
                          A_STANDOUT     0     1
                          A_UNDERLINE    1     2
                          A_REVERSE      2     4
                          A_BLINK        3     8
                          A_DIM          4     16
                          A_BOLD         5     32
                          A_INVIS        6     64
                          A_PROTECT      7     128
                          A_ALTCHARSET   8     256

       Na  przykład  na wielu konsolach IBM PC atrybut podkreślenia koliduje z
       niebieskim kolorem pierwszego  planu  i  nie  jest  dostępny  w  trybie
       kolorowym.  Powinny więc mieć ustawione właściwość ncv na 2.

       Curses   SVr4  nie  używają  w  ogóle  ncv,  ncurses  rozpoznają  je  i
       optymalizują wyjście.

   Różności
       Jeśli terminal wymaga innego znaku wypełniania niż  zero,  to  jest  on
       podawany  jako  pad.  Z łańcucha pad wykorzystywany jest tylko pierwszy
       znak. Jeśli  terminal  nie  obsługuje  znaku  wypełniania,  podaj  npc.
       Zauważ,  że  ncurses  implementuje zgodną z termcap zmienną PC; dlatego
       aplikacje mogą ustawiać tę wartość na coś innego niż  zero,  a  ncurses
       spróbuje  najpierw  npc  i użyje napms jeśli terminal nie posiada znaku
       wypełnienia.

       Jeśli terminal może przesuwać w górę lub w dół o pół linii, to może  to
       być określone przez hu (pół-linii w górę) i hd (pół-linii w dół).  Jest
       to  przede  wszystkim  przydatne  dla  indeksów  górnych  i  dolnych  w
       terminalach  hardcopy.  Jeśli  terminal  hardcopy  potrafi  przejść  na
       następną stronę (eject to the next page) (tj. form feed), podaj to jako
       ff (zwykle control L).

       Jeśli  istnieje  komenda do powtórzenia danego znaku podaną liczbę razy
       (aby zaoszczędzić na  czasie  transmisji  dużej  liczby  takich  samych
       znaków),  można  to  określić parametryzowanym łańcuchem rep.  Pierwszy
       parametr jest powtarzanym znakiem, a drugi liczbą powtórzeń.  Tak  więc
       tparm(repeat_char, 'x', 10) jest równoważne `xxxxxxxxxx'.

       Jeśli  terminal  posiada ustawiany znak komendy, jak w TEKTRONIX, można
       to określić przez cmdch.   Wybierany  jest  prototypowy  znak  komendy,
       używany  we  wszystkich  właściwościach.   Znak ten jest podawany przez
       właściwość cmdch.  Na niektórych systemach uniksowych obsługiwana  jest
       następująca  konwencja:  W  środowisku  szukana jest zmienna CC i jeśli
       zostanie  znaleziona,  wszystkie  pojawienia  znaku  prototypowego   są
       zamieniane na znak ze zmiennej środowiskowej.

       Opisy  terminala,  które  nie reprezentują konkretnych rodzajów znanych
       terminali, takie jak switch, dialup, patch i network, powinny  zawierać
       właściwość  gn  (generic), aby programy mogły stwierdzić, że nie wiedzą
       jak rozmawiać  z  terminalem.  (Właściwość  ta  nie  tyczy  się  opisów
       terminali virtual, dla których znane są sekwencje specjalne.)

       Jeśli  terminal  posiada  klawisz  ``meta'',  który  zachowuje  się jak
       klawisz przesunięcia, ustawiający ósmy bit przesyłanego znaku, to  fakt
       ten  można  wskazać  z pomocą km.  W przeciwnym wypadku, oprogramowanie
       założy,  że  8-my  bit  jest  bitem  parzystości  i  zazwyczaj   będzie
       czyszczony.  Jeśli istnieją łańcuchy, włączające i wyłączające ten tryb
       ``meta'', to powinny być one określone jako smm i rmm.

       Jeśli terminal ma więcej linii pamięci niż mieści się naraz na ekranie,
       to  liczba tych linii powinna być określana przez lm.  Nadanie wartości
       lm#0 określa, że liczba linii nie jest  ustalona,  lecz  mimo  to  jest
       więcej pamięci niż linii ekranowych.

       Jeśli  terminal  jest  jednym  z  obsługiwanych przez uniksowy protokół
       wirtualnego terminala, to numer terminala może być podany jako vt.

       Łańcuchy media  copy,  sterujące  zewnętrzną  drukarką,  podłączoną  do
       terminala  mogą  być  podawane  jako mc0: drukuj zawartość ekranu, mc4:
       wyłącz drukarkę i mc5: włącz drukarkę.   Gdy  drukarka  jest  włączona,
       tekst  przesyłany  do terminala będzie przesyłany na drukarkę. Nie jest
       zdefiniowane czy tekst ma być  wtedy  również  wyświetlany  na  ekranie
       terminala.   Wariacja mc5p pobiera jeden parametr i pozostawia drukarkę
       włączoną na tyle znaków, ile podano w parametrze; wyłączając  następnie
       drukarkę.   Parametr nie powinien przekraczać 255.  Cały tekst, łącznie
       z  mc4,  jest  podczas  działania  mc5p   przezroczyście   przekazywany
       drukarce.

   Zaburzenia i uszkodzenie mózgu
       Terminale,  które  nie  zezwalają na wyświetlanie znaków tyldy, powinny
       wskazywać to przez hz.

       Terminale, które ignorują line-feed po zawinięciu am, takie jak Concept
       i vt100 powinny wskazywać to przez xenl.

       Jeśli  do  pozbycia  się  trybu wyróżnionego potrzebne jest el (zamiast
       zwyczajnego nadpisania na nim normalnego tekstu), należy podać xhp.

       Terminale  teleray,  gdzie  tabulacje  zmieniają  przesuwane  znaki  na
       spacje,  powinny  podawać xt (destruktywne tabulacje).  Uwaga: zmienną,
       określającą  to  jest  obecnie  `dest_tabs_magic_smso';   w   starszych
       wersjach było to teleray_glitch.  To zaburzenie oznacza również, że nie
       jest możliwe ustawienie kursora  na  ``magicznym  ciasteczku'',  że  do
       skasowania  trybu  wyróżnionego  należy  skasować  lub  wstawić  linię.
       Implementacja ncurses ignoruje to.

       Terminal Beehive Superbee, który nie potrafi poprawnie przesyłać znaków
       escape  i  control  C ma właściwość xsb, określającą, że zamiast escape
       używany jest klawisz f1, a zamiast control C używane jest f2.  (Problem
       ten  występuje  tylko  w  Superbee,  zależnie  od  ROM.)   Zauważ, że w
       starszych   wersjach   terminfo    właściwość    ta    była    nazywana
       `beehive_glitch'; obecnie jest to `no_esc_ctl_c'.

       Inne problemy związane z konkretnymi terminalami można naprawić dodając
       dalsze właściwości typu xx.

   Podobne terminale
       Jeśli istnieją dwa bardzo  podobne  terminale,  gdzie  jeden  może  być
       zdefiniowany  tak  samo  jak  drugi,  z  pewnymi  wyjątkami,  to  można
       wykorzystać właściwość use z nazwą  podobnego  terminala.   Właściwości
       podane   przed   use  przesłaniają  te  z  typu  wybranego  przez  use.
       Właściwości można anulować poprzez umieszczanie na  lewo  od  definicji
       właściwości xx@, gdzie xx jest właściwością.  Na przykład,

                   2621-nl, smkx@, rmkx@, use=2621,

       definiuje  2621-nl,  który  nie  posiada smkx, rmkx i z tego powodu nie
       włącza etykiet  klawiszy  funkcyjnych  w  trybie  wizualnym.   Jest  to
       przydatne  dla  innych  trybów  terminala  lub  dla  innych preferencji
       użytkownika.

   Pułapki długich wpisów
       Długie wpisy terminfo rzadko są  problemem;  żaden  wpis  terminfo  nie
       osiągnął   jeszcze   nawet   4K   maksimum  przeznaczonego  na  tablicę
       łańcuchową. Niestety jednak, translacje termcap są bardziej ograniczone
       (do 1K). Z tego powodu, translacje termcap długich wpisów terminfo mogą
       powodować problemy.

       Strony podręcznika man dla 4.3BSD i starszych  wersji  tgetent()  mówią
       użytkownikowi,  by  alokował  1K  bufor  na  wpis  termcap.  Wpis  jest
       zakończony zerem przez bibliotekę termcap,  więc  bezpieczną  długością
       wpisu termcap są 1023 bajty. Zależnie od tego, co robi dana aplikacja i
       biblioteka termcap i  od  tego  gdzie  w  pliku  termcap  znajduje  typ
       terminala szukany przez tgetent(), mogą dziać się różne rzeczy.

       Niektóre  biblioteki  termcap  drukują  komunikat ostrzegawczy i kończą
       działanie; inne nie;  inne  skracają  wpis  do  1023  bajtów.  Niektóre
       aplikacje alokują więcej niż wymagany 1K; inne nie.

       Każdy  wpis  termcap zawiera związane ze sobą dwa ważne rozmiary: przed
       rozwinięciem "tc" i  po  rozwinięciu.  "tc"  jest  właściwością,  która
       fastryguje  inny  wpis  termcap  do  końca  bieżącego,  aby  dodać jego
       właściwości.  Jeśli  wpis  termcap  nie  używa  właściwości  "tc",   to
       oczywiście obydwa rozmiary są identyczne.

       Długość  przed  rozwinięciem tc jest nawjażniejsza, gdyż dotyczy czegoś
       więcej niż tylko użytkowników konkretnego terminala.  Jest  to  długość
       wpisu  istniejącego  w /etc/termcap minus para lewy ukośnik/nowa linia,
       które są pomijane przez tgetent() podczas odczytu. Niektóre  biblioteki
       termcap  obcinają  również  końcową  nową  linię  (GNU termcap tego nie
       robi).  Załóż teraz, że:

       *    wpis termcap przed rozwinięciem ma więcej niż 1023 bajty,

       *    aplikacja zaalokowała jedynie 1K,

       *    biblioteka termcap (jak BSD/OS 1.1 i GNU) odczytuje cały  wpis  do
            bufora, niezależnie od długości, aby zobaczyć czy jest to ten wpis
            co trzeba,

       *    a tgetent() szuka typu terminala, który jest albo  długim  wpisem,
            jak  i  znajduje  się  w  pliku termcap za długim wpisem, albo nie
            istnieje w pliku w ogóle (więc tgetent()  musi  przeszukiwać  cały
            plik termcap).

       W  tej sytuacji tgetent() nadpisze pamięć, być może również swój stos i
       prawdopodobnie  rzuci  korą.  Programy  typu  telnet   są   szczególnie
       okaleczalne;  nowoczesne  telnety przekazują wartości jak typ terminala
       automatycznie.  Wyniki są podobnie niechciane  dla  bibliotek  termcap,
       jak  SunOS  4.1.3 i Ultrix 4.4, które drukują ostrzeżenia gdy odczytują
       zbyt długie wpisy  termcap.  Jeśli  biblioteka  termcap  obcina  długie
       wpisy,  jak  OSF/1  3.0,  to  jest  odporna na ten problem, lecz zwraca
       nieprawidłowe dane dla terminala.

       Rozmiar "po rozwinięciu tc" ma  podobne  działanie  na  powyższe,  lecz
       jedynie  dla  osób,  które  ustawiły  TERM  na  ten typ terminala, gdyż
       tgetent() dokonuje rozwinięcia "tc"  tylko  jeśli  znajdzie  odpowiedni
       typ.

       Ogólnie,   wpis  termcap,  który  jest  dłuższy  niż  1023  bajty  może
       spowodować zrzut core, ostrzeżenia lub nieprawidłowe  działanie.  Jeśli
       jest  zbyt  długi  przed rozwinięciem "tc", to będzie tak działał nawet
       dla użytkowników innych typów terminal, i tych których zmienna TERM nie
       posiada opisu w pliku termcap.

       W  trybie  -C  (tłumaczenia na termcap), implementacja tic(1) z ncurses
       daje ostrzeżenia gdy długość przed-tc wpisu termcap jest  zbyt  wielka.
       Opcja -c (check) sprawdza również rozwinięte (po tc) długości.

   Kompatybilność binarna
       Nie  jest  mądre liczyć na przenośność binarnych opisów terminfo między
       komercyjnymi wersjami  uniksa.  Problem  polega  na  tym,  że  istnieją
       przynajmniej  dwie  wersje terminfo (pod HP-UX i AUX), które pochodzą z
       terminfo System V po SVr1 i dodały rozszerzone właściwości  do  tablicy
       łańcuchów  które  (binarnie)  kolidują z rozszerzeniami Systemu V i XSI
       Curses.

ROZSZERZENIA

       Operator  %x  parametryzowanych  łańcuchów  jest   typowy   tylko   dla
       implementacji  tparm  wykonanej  w  ncurses  (jest  wymagany do obsługi
       niefortunnego formatu initc na konsoli Linux).

       Niektóre  implementacje  curses  z  SVr4  i  wszystkie  poprzednie  nie
       interpretują operatorów %A i %O z parametryzowanych łańcuchów.

       SVr4/XPG4  nie  określają  czy  msgr  zezwala  na  poruszanie  w trybie
       alternatywnego zestawu znaków (takie tryby mogą między  innymi  mapować
       CR  oraz  NL  na  znaki,  które nie pociągają lokalnych przemieszczeń).
       Implementacja ncurses ignoruje msgr w  trybie  ALTCHARSET.   Przychodzi
       więc  możliwość, że implementacja XPG4, robiąca odwrotne założenie może
       wymagać wpisów terminfo z ncurses z wyłączonym msgr.

       Biblioteka ncurses obsługuje tryby wstawiania znaku i wstawiania znaków
       w  trochę  niestandardowy  sposób,  aby  zyskać na efektywności. Zobacz
       wyżej sekcję Wstawianie/kasowanie znaków.

       Podstawienia  parametrów  dla  set_clock   i   display_clock   nie   są
       udokumentowane  w  SVr4  i  w  standardzie  XSI.  Są one wydedukowane z
       dokumentacji terminala AT&T 505.

       Uważaj z przyznawaniem własciwości kmous. ncurses zechcą  interpretować
       to jako KEY_MOUSE dla użytku w terminalach i w emulatorach (jak xterm),
       które potrafią  zwracać  informacje  o  śledzeniu  myszy  w  strumieniu
       wejściowym klawiatury.

       Różne  porty  komercyjne  terminfo  i  curses wspierają różne podzbiory
       standardu  XSI  curses  i  (w  niektórych  przypadkach)  różne   zbiory
       rozszerzeń. Oto zestawienie, odpowiadające październikowi 1995:

       SVR4, Solaris, ncurses -- Wspierają wszystkie właściwości SVr4.

       SGI  -- Wspiera zestaw SVr4 i dodaje jedną nieudokumentowaną właściwość
       łańcuchową (set_pglen).

       SVr1,  Ultrix  --  Obsługują  one  ograniczony   podzbiór   właściwości
       terminfo. Wartości logiczne kończą się z xon_xof; wartości numeryczne z
       width_status_line; a łańcuchowe z prtr_non.

       HP/UX -- Wspiera podzbiór SVr1 plus numeryka z SVr[234],  a  konkretnie
       num_labels,  label_height,  label_width,  plus klawisze funkcyjne 11 do
       63, plus plab_norm, label_on, i label_off, plus  pewne  niekompatybilne
       rozszerzenia tablicy łańcuchów.

       AIX  --  Wspiera  podzbiór  SVr1  plus klawisze funkcyjne 11 do 63 plus
       niekompatybilne rozszerzenia tablicy łańcuchów.

       OSF -- Wspiera zarówno zestaw SVr4 jak i rozszerzenia AIX.

PLIKI

       /usr/share/terminfo/?/*  pliki zawierające opisy terminala

ZOBACZ TAKŻE

       tic(1M), curses(3X), printf(3S), term(5).

AUTORZY

       Zeyd M. Ben-Halim, Eric S. Raymond.

                                                                   TERMINFO(5)