Annotation of 43BSDReno/share/doc/ps1/18.curses/doc.I, 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.I       6.2 (Berkeley) 3/17/89
                     17: .\"
                     18: .Ds
                     19: .Fd addch ch \*m
                     20: char   ch;
                     21: .Fd waddch win\*,ch
                     22: WINDOW *win;
                     23: char   ch;
                     24: .De
                     25: Add the character
                     26: .Vn ch
                     27: on the window
                     28: at the current \*y.
                     29: If the character is a newline
                     30: (\'\en\')
                     31: the line will be cleared to the end,
                     32: and the current \*y will be changed to the
                     33: beginning off the next line
                     34: if newline mapping is on,
                     35: or to the next line at the same x co-ordinate
                     36: if it is off.
                     37: A return
                     38: (\'\er\')
                     39: will move to the beginning of the line on the window.
                     40: Tabs
                     41: (\'\et\')
                     42: will be expanded into spaces
                     43: in the normal tabstop positions of
                     44: every eight characters.
                     45: \*(Es
                     46: .Ds
                     47: .Fd addstr str \*m
                     48: char   *str;
                     49: .Fd waddstr win\*,str
                     50: WINDOW *win;
                     51: char   *str;
                     52: .De
                     53: Add the string pointed to by
                     54: .Vn str
                     55: on the window at the current \*y.
                     56: \*(Es
                     57: In this case, it will put on as much as it can.
                     58: .Ds
                     59: .Fd box win\*,vert\*,hor
                     60: WINDOW *win;
                     61: char   vert\*,hor;
                     62: .De
                     63: .Pp
                     64: Draws a box around the window using
                     65: .Vn vert
                     66: as the character for drawing the vertical sides, and
                     67: .Vn hor
                     68: for drawing the horizontal lines.
                     69: If scrolling is not allowed,
                     70: and the window encompasses the lower right-hand corner of the terminal,
                     71: the corners are left blank to avoid a scroll.
                     72: .Ds
                     73: .Fd clear "" \*m
                     74: .Fd wclear win
                     75: WINDOW *win;
                     76: .De
                     77: Resets the entire window to blanks.
                     78: If
                     79: .Vn win
                     80: is a screen,
                     81: this sets the clear flag,
                     82: which will cause a clear-screen sequence to be sent
                     83: on the next
                     84: .Fn refresh
                     85: call.
                     86: This also moves the current \*y
                     87: to (0\*,0).
                     88: .Ds
                     89: .Fd clearok scr\*,boolf \*m
                     90: WINDOW *scr;
                     91: bool   boolf;
                     92: .De
                     93: Sets the clear flag for the screen
                     94: .Vn scr .
                     95: If
                     96: .Vn boolf
                     97: is TRUE,
                     98: this will force a clear-screen to be printed on the next
                     99: .Fn refresh ,
                    100: or stop it from doing so if
                    101: .Vn boolf
                    102: is FALSE.
                    103: This only works on screens,
                    104: and,
                    105: unlike
                    106: .Fn clear ,
                    107: does not alter the contents of the screen.
                    108: If
                    109: .Vn scr
                    110: is
                    111: .Vn curscr ,
                    112: the next
                    113: .Fn refresh
                    114: call will cause a clear-screen,
                    115: even if the window passed to
                    116: .Fn refresh
                    117: is not a screen.
                    118: .Ds
                    119: .Fd clrtobot "" \*m
                    120: .Fd wclrtobot win
                    121: WINDOW *win;
                    122: .De
                    123: Wipes the window clear from the current \*y to the bottom.
                    124: This does not force a clear-screen sequence on the next refresh
                    125: under any circumstances.
                    126: \*(Nm
                    127: .Ds
                    128: .Fd clrtoeol "" \*m
                    129: .Fd wclrtoeol win
                    130: WINDOW *win;
                    131: .De
                    132: Wipes the window clear from the current \*y to the end of the line.
                    133: \*(Nm
                    134: .Ds
                    135: .Fd delch
                    136: .Fd wdelch win
                    137: WINDOW *win;
                    138: .De
                    139: Delete the character at the current \*y.
                    140: Each character after it on the line shifts to the left,
                    141: and the last character becomes blank.
                    142: .Ds
                    143: .Fd deleteln
                    144: .Fd wdeleteln win
                    145: WINDOW *win;
                    146: .De
                    147: Delete the current line.
                    148: Every line below the current one will move up,
                    149: and the bottom line will become blank.
                    150: The current \*y will remain unchanged.
                    151: .Ds
                    152: .Fd erase "" \*m
                    153: .Fd werase win
                    154: WINDOW *win;
                    155: .De
                    156: Erases the window to blanks without setting the clear flag.
                    157: This is analagous to
                    158: .Fn clear ,
                    159: except that it never causes a clear-screen sequence to be generated
                    160: on a
                    161: .Fn refresh .
                    162: \*(Nm
                    163: .Ds
                    164: .Fd flushok win\*,boolf \*m
                    165: WINDOW *win;
                    166: bool   boolf;
                    167: .De
                    168: Normally,
                    169: .Fn refresh
                    170: .Fn fflush 's
                    171: .Vn stdout
                    172: when it is finished.
                    173: .Fn flushok
                    174: allows you to control this.
                    175: if
                    176: .Vn boolf
                    177: is TRUE
                    178: (\c
                    179: .i i.e. ,
                    180: non-zero)
                    181: it will do the
                    182: .Fn fflush ;
                    183: if it is FALSE.
                    184: it will not.
                    185: .Ds
                    186: .Fd idlok win\*,boolf
                    187: WINDOW *win;
                    188: bool   boolf;
                    189: .De
                    190: Reserved for future use.
                    191: This will eventually signal to
                    192: .Fn refresh
                    193: that it is all right to use the insert and delete line sequences
                    194: when updating the window.
                    195: .Ds
                    196: .Fd insch c
                    197: char   c;
                    198: .Fd winsch win\*,c
                    199: WINDOW *win;
                    200: char   c;
                    201: .De
                    202: Insert
                    203: .Vn c
                    204: at the current \*y
                    205: Each character after it shifts to the right,
                    206: and the last character disappears.
                    207: \*(Es
                    208: .Ds
                    209: .Fd insertln
                    210: .Fd winsertln win
                    211: WINDOW *win;
                    212: .De
                    213: Insert a line above the current one.
                    214: Every line below the current line
                    215: will be shifted down,
                    216: and the bottom line will disappear.
                    217: The current line will become blank,
                    218: and the current \*y will remain unchanged.
                    219: .Ds
                    220: .Fd move y\*,x \*m
                    221: int    y\*,x;
                    222: .Fd wmove win\*,y\*,x
                    223: WINDOW *win;
                    224: int    y\*,x;
                    225: .De
                    226: Change the current \*y of the window to
                    227: .Vn y\*,x ). (
                    228: \*(Es
                    229: .Ds
                    230: .Fd overlay win1\*,win2
                    231: WINDOW *win1\*,*win2;
                    232: .De
                    233: Overlay
                    234: .Vn win1
                    235: on
                    236: .Vn win2 .
                    237: The contents of
                    238: .Vn win1 ,
                    239: insofar as they fit,
                    240: are placed on
                    241: .Vn win2
                    242: at their starting \*y.
                    243: This is done non-destructively,
                    244: i.e., blanks on
                    245: .Vn win1
                    246: leave the contents of the space on
                    247: .Vn win2
                    248: untouched.
                    249: .Ds
                    250: .Fd overwrite win1\*,win2
                    251: WINDOW *win1\*,*win2;
                    252: .De
                    253: Overwrite
                    254: .Vn win1
                    255: on
                    256: .Vn win2 .
                    257: The contents of
                    258: .Vn win1 ,
                    259: insofar as they fit,
                    260: are placed on
                    261: .Vn win2
                    262: at their starting \*y.
                    263: This is done destructively,
                    264: .i i.e. ,
                    265: blanks on
                    266: .Vn win1
                    267: become blank on
                    268: .Vn win2 .
                    269: .Ds
                    270: .Fd printw fmt\*,arg1\*,arg2\*,...
                    271: char   *fmt;
                    272: .Fd wprintw win\*,fmt\*,arg1\*,arg2\*,...
                    273: WINDOW *win;
                    274: char   *fmt;
                    275: .De
                    276: Performs a
                    277: .Fn printf
                    278: on the window starting at the current \*y.
                    279: It uses
                    280: .Fn addstr
                    281: to add the string on the window.
                    282: It is often advisable to use the field width options of
                    283: .Fn printf
                    284: to avoid leaving things on the window from earlier calls.
                    285: \*(Es
                    286: .Ds
                    287: .Fd refresh "" \*m
                    288: .Fd wrefresh win
                    289: WINDOW *win;
                    290: .De
                    291: Synchronize the terminal screen with the desired window.
                    292: If the window is not a screen,
                    293: only that part covered by it is updated.
                    294: \*(Es
                    295: In this case, it will update whatever it can
                    296: without causing the scroll.
                    297: .sp
                    298: As a special case,
                    299: if
                    300: .Fn wrefresh
                    301: is called with the window
                    302: .Vn curscr
                    303: the screen is cleared
                    304: and repainted as it is currently.
                    305: This is very useful for allowing the redrawing of the screen
                    306: when the user has garbage dumped on his terminal.
                    307: .Ds
                    308: .Fd standout "" \*m
                    309: .Fd wstandout win
                    310: WINDOW *win;
                    311: .Fd standend "" \*m
                    312: .Fd wstandend win
                    313: WINDOW *win;
                    314: .De
                    315: Start and stop putting characters onto
                    316: .i win
                    317: in standout mode.
                    318: .Fn standout
                    319: causes any characters added to the window
                    320: to be put in standout mode on the terminal
                    321: (if it has that capability).
                    322: .Fn standend
                    323: stops this.
                    324: The sequences
                    325: .Vn SO
                    326: and
                    327: .Vn SE
                    328: (or
                    329: .Vn US
                    330: and
                    331: .Vn UE
                    332: if they are not defined)
                    333: are used (see Appendix A).

unix.superglobalmegacorp.com

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