Annotation of 43BSDReno/share/doc/ps1/18.curses/doc.III, revision 1.1.1.1

1.1       root        1: .\" Copyright (c) 1980 The Regents of the University of California.
                      2: .\" All rights reserved.
                      3: .\"
                      4: .\" Redistribution and use in source and binary forms are permitted
                      5: .\" provided that the above copyright notice and this paragraph are
                      6: .\" duplicated in all such forms and that any documentation,
                      7: .\" advertising materials, and other materials related to such
                      8: .\" distribution and use acknowledge that the software was developed
                      9: .\" by the University of California, Berkeley.  The name of the
                     10: .\" University may not be used to endorse or promote products derived
                     11: .\" from this software without specific prior written permission.
                     12: .\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
                     13: .\" IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
                     14: .\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
                     15: .\"
                     16: .\"    @(#)doc.III     6.2 (Berkeley) 3/17/89
                     17: .\"
                     18: .Ds
                     19: .Fd baudrate "" \*m
                     20: .De
                     21: Returns the output baud rate of the terminal.
                     22: This is a system dependent constant
                     23: (defined in
                     24: .b <sys/tty.h>
                     25: on BSD systems,
                     26: which is included by
                     27: .b <curses.h> ).
                     28: .Ds
                     29: .Fd delwin win
                     30: WINDOW *win;
                     31: .De
                     32: Deletes the window from existence.
                     33: All resources are freed for future use by
                     34: .b calloc (3).
                     35: If a window has a
                     36: .Fn subwin
                     37: allocated window inside of it,
                     38: deleting the outer window
                     39: the subwindow is not affected,
                     40: even though this does invalidate it.
                     41: Therefore,
                     42: subwindows should be deleted before their
                     43: outer windows are.
                     44: .Ds
                     45: .Fd endwin
                     46: .De
                     47: Finish up window routines before exit.
                     48: This restores the terminal to the state it was before
                     49: .Fn initscr
                     50: (or
                     51: .Fn gettmode
                     52: and
                     53: .Fn setterm )
                     54: was called.
                     55: It should always be called before exiting.
                     56: It does not exit.
                     57: This is especially useful for resetting tty stats
                     58: when trapping rubouts via
                     59: .b signal (2).
                     60: .Ds
                     61: .Fd erasechar "" \*m
                     62: .De
                     63: Returns the erase character
                     64: for the terminal,
                     65: .i i.e. ,
                     66: the character used by the user to erase a single character from the input.
                     67: .Ds
                     68: .Fd getcap str "" "char *"
                     69: char   *str;
                     70: .De
                     71: Return a pointer to the
                     72: .b termcap
                     73: capability described by
                     74: .Vn str
                     75: (see
                     76: .b termcap (5)
                     77: for details).
                     78: .Ds
                     79: .Fd getyx win\*,y\*,x \*m
                     80: WINDOW *win;
                     81: int    y\*,x;
                     82: .De
                     83: Puts the current \*y of
                     84: .Vn win
                     85: in the variables
                     86: .Vn y
                     87: and
                     88: .Vn x .
                     89: Since it is a macro,
                     90: not a function,
                     91: you do not pass the address
                     92: of
                     93: .Vn y
                     94: and
                     95: .Vn x .
                     96: .Ds
                     97: .Fd inch "" \*m
                     98: .Fd winch win \*m
                     99: WINDOW *win;
                    100: .De
                    101: Returns the character at the current \*(y
                    102: on the given window.
                    103: This does not make any changes to the window.
                    104: .Ds
                    105: .Fd initscr
                    106: .De
                    107: Initialize the screen routines.
                    108: This must be called before any of the screen routines are used.
                    109: It initializes the terminal-type data and such,
                    110: and without it none of the routines can operate.
                    111: If standard input is not a tty,
                    112: it sets the specifications to the terminal
                    113: whose name is pointed to by
                    114: .Vn Def\*_term
                    115: (initialy "dumb").
                    116: If the boolean
                    117: .Vn My\*_term
                    118: is true,
                    119: .Vn Def\*_term
                    120: is always used.
                    121: If the system supports the
                    122: .b TIOCGWINSZ
                    123: .Fn ioctl "" "" 2
                    124: call,
                    125: it is used to get the number of lines and columns for the terminal,
                    126: otherwise it is taken from the
                    127: .b termcap
                    128: description.
                    129: .Ds
                    130: .Fd killchar "" \*m
                    131: .De
                    132: Returns the line kill character
                    133: for the terminal,
                    134: .i i.e. ,
                    135: the character used by the user to erase an entire line from the input.
                    136: .Ds
                    137: .Fd leaveok win\*,boolf \*m
                    138: WINDOW *win;
                    139: bool   boolf;
                    140: .De
                    141: Sets the boolean flag for leaving the cursor after the last change.
                    142: If
                    143: .Vn boolf
                    144: is TRUE,
                    145: the cursor will be left after the last update on the terminal,
                    146: and the current \*y for
                    147: .Vn win
                    148: will be changed accordingly.
                    149: If it is FALSE,
                    150: it will be moved to the current \*y.
                    151: This flag
                    152: (initialy FALSE)
                    153: retains its value until changed by the user.
                    154: .Ds
                    155: .Fd longname termbuf\*,name
                    156: char   *termbuf\*,*name;
                    157: .Fd fullname termbuf\*,name
                    158: char   *termbuf\*,*name;
                    159: .De
                    160: .Fn longname
                    161: fills in
                    162: .Vn name
                    163: with the long name of the terminal described by the
                    164: .b termcap
                    165: entry in
                    166: .Vn termbuf .
                    167: It is generally of little use,
                    168: but is nice for telling the user in a readable format what terminal
                    169: we think he has.
                    170: This is available in the global variable
                    171: .Vn ttytype .
                    172: .Vn termbuf
                    173: is usually set via the termlib routine
                    174: .Fn tgetent .
                    175: .Fn fullname
                    176: is the same as
                    177: .Fn longname ,
                    178: except that it gives the fullest name given in the entry,
                    179: which can be quite verbose.
                    180: .Ds
                    181: .Fd mvwin win\*,y\*,x
                    182: WINDOW *win;
                    183: int    y, x;
                    184: .De
                    185: Move the home position of the window
                    186: .Vn win
                    187: from its current starting coordinates
                    188: to
                    189: .Vn y\*,x ). (
                    190: If that would put part or all of the window
                    191: off the edge of the terminal screen,
                    192: .Fn mvwin
                    193: returns ERR and does not change anything.
                    194: For subwindows,
                    195: .Fn mvwin
                    196: also returns ERR if you attempt to move it off its main window.
                    197: If you move a main window,
                    198: all subwindows are moved along with it.
                    199: .Ds
                    200: .Fd newwin lines\*,cols\*,begin\*_y\*,begin\*_x "" "WINDOW *"
                    201: int    lines\*,cols\*,begin\*_y\*,begin\*_x;
                    202: .De
                    203: Create a new window with
                    204: .Vn lines
                    205: lines and
                    206: .Vn cols
                    207: columns starting at position
                    208: .Vn begin\*_y\*,begin\*_x ). (
                    209: If either
                    210: .Vn lines
                    211: or
                    212: .Vn cols
                    213: is 0 (zero),
                    214: that dimension will be set to
                    215: .Vn "LINES \- begin\*_y" ) (
                    216: or
                    217: .Vn "COLS \- begin\*_x" ) (
                    218: respectively.
                    219: Thus, to get a new window of dimensions
                    220: .Vn LINES
                    221: \(mu
                    222: .Vn COLS ,
                    223: use
                    224: .Fn newwin . "" 0\*,0\*,0\*,0
                    225: .Ds
                    226: .Fd nl "" \*m
                    227: .Fd nonl "" \*m
                    228: .De
                    229: Set or unset the terminal to/from nl mode,
                    230: .i i.e. ,
                    231: start/stop the system from mapping
                    232: .b <RETURN>
                    233: to
                    234: .b <LINE-FEED> .
                    235: If the mapping is not done,
                    236: .Fn refresh
                    237: can do more optimization,
                    238: so it is recommended, but not required, to turn it off.
                    239: .Ds
                    240: .Fd scrollok win\*,boolf \*m
                    241: WINDOW *win;
                    242: bool   boolf;
                    243: .De
                    244: Set the scroll flag for the given window.
                    245: If
                    246: .Vn boolf
                    247: is FALSE, scrolling is not allowed.
                    248: This is its default setting.
                    249: .Ds
                    250: .Fd touchline win\*,y\*,startx\*,endx
                    251: WINDOW *win;
                    252: int    y\*,startx\*,endx;
                    253: .De
                    254: This function performs a function similar to
                    255: .Fn touchwin
                    256: on a single line.
                    257: It marks the first change for the given line
                    258: to be
                    259: .Vn startx ,
                    260: if it is before the current first change mark,
                    261: and
                    262: the last change mark is set to be
                    263: .Vn endx
                    264: if it is currently less than
                    265: .Vn endx .
                    266: .Ds
                    267: .Fd touchoverlap win1\*,win2
                    268: WINDOW *win1, *win2;
                    269: .De
                    270: Touch the window
                    271: .Vn win2
                    272: in the area which overlaps with
                    273: .Vn win1 .
                    274: If they do not overlap,
                    275: no changes are made.
                    276: .Ds
                    277: .Fd touchwin win
                    278: WINDOW *win;
                    279: .De
                    280: Make it appear that the every location on the window
                    281: has been changed.
                    282: This is usually only needed for refreshes with overlapping windows.
                    283: .Ds
                    284: .Fd subwin win\*,lines\*,cols\*,begin\*_y\*,begin\*_x "" "WINDOW *"
                    285: WINDOW *win;
                    286: int    lines\*,cols\*,begin\*_y\*,begin\*_x;
                    287: .De
                    288: Create a new window with
                    289: .Vn lines
                    290: lines and
                    291: .Vn cols
                    292: columns starting at position
                    293: .Vn begin\*_y\*,begin\*_x ) (
                    294: inside the window
                    295: .i win .
                    296: This means that any change made to either window
                    297: in the area covered
                    298: by the subwindow will be made on both windows.
                    299: .Vn begin\*_y\*,begin\*_x
                    300: are specified relative to the overall screen,
                    301: not the relative (0\*,0) of
                    302: .Vn win .
                    303: If either
                    304: .Vn lines
                    305: or
                    306: .Vn cols
                    307: is 0 (zero),
                    308: that dimension will be set to
                    309: .Vn "LINES \- begin\*_y" ) (
                    310: or
                    311: .Vn "COLS \- begin\*_x" ) (
                    312: respectively.
                    313: .Ds
                    314: .Fd unctrl ch \*m
                    315: char   ch;
                    316: .De
                    317: This is actually a debug function for the library,
                    318: but it is of general usefulness.
                    319: It returns a string which is a representation of
                    320: .Vn ch .
                    321: Control characters become their upper-case equivalents preceded by a "^".
                    322: Other letters stay just as they are.
                    323: To use
                    324: .Fn unctrl ,
                    325: you may have to have
                    326: .b #include\ <unctrl.h>
                    327: in your file.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.