|
|
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.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.