Patrick Georgi | 3b77b72 | 2011-07-07 15:41:53 +0200 | [diff] [blame] | 1 | PDCurses User's Guide |
| 2 | ===================== |
| 3 | |
| 4 | Curses Overview |
| 5 | --------------- |
| 6 | |
| 7 | The X/Open Curses Interface Definition describes a set of C-Language |
| 8 | functions that provide screen-handling and updating, which are |
| 9 | collectively known as the curses library. |
| 10 | |
| 11 | The curses library permits manipulation of data structures called |
| 12 | windows which may be thought of as two-dimensional arrays of |
| 13 | characters representing all or part of a terminal's screen. The |
| 14 | windows are manipulated using a procedural interface described |
| 15 | elsewhere. The curses package maintains a record of what characters |
| 16 | are on the screen. At the most basic level, manipulation is done with |
| 17 | the routines move() and addch() which are used to "move" the curses |
| 18 | around and add characters to the default window, stdscr, which |
| 19 | represents the whole screen. |
| 20 | |
| 21 | An application may use these routines to add data to the window in any |
| 22 | convenient order. Once all data have been added, the routine |
| 23 | refresh() is called. The package then determines what changes have |
| 24 | been made which affect the screen. The screen contents are then |
| 25 | changed to reflect those characters now in the window, using a |
Stefan Reinauer | 5bbc5e5 | 2015-11-10 09:13:43 -0800 | [diff] [blame] | 26 | sequence of operations optimized for the type of terminal in use. |
Patrick Georgi | 3b77b72 | 2011-07-07 15:41:53 +0200 | [diff] [blame] | 27 | |
| 28 | At a higher level routines combining the actions of move() and addch() |
| 29 | are defined, as are routines to add whole strings and to perform |
Stefan Reinauer | 5bbc5e5 | 2015-11-10 09:13:43 -0800 | [diff] [blame] | 30 | format conversions in the manner of printf(). |
Patrick Georgi | 3b77b72 | 2011-07-07 15:41:53 +0200 | [diff] [blame] | 31 | |
| 32 | Interfaces are also defined to erase the entire window and to specify |
| 33 | the attributes of individual characters in the window. Attributes |
| 34 | such as inverse video, underline and blink can be used on a |
Stefan Reinauer | 5bbc5e5 | 2015-11-10 09:13:43 -0800 | [diff] [blame] | 35 | per-character basis. |
Patrick Georgi | 3b77b72 | 2011-07-07 15:41:53 +0200 | [diff] [blame] | 36 | |
| 37 | New windows can be created by allowing the application to build |
| 38 | several images of the screen and display the appropriate one very |
| 39 | quickly. New windows are created using the routine newwin(). For |
| 40 | each routine that manipulates the default window, stdscr, there is a |
| 41 | corresponding routine prefixed with w to manipulate the contents of a |
| 42 | specified window; for example, move() and wmove(). In fact, move(...) |
| 43 | is functionally equivalent to wmove( stdscr, ...). This is similar to |
Stefan Reinauer | 5bbc5e5 | 2015-11-10 09:13:43 -0800 | [diff] [blame] | 44 | the interface offered by printf(...) and fprintf(stdout, ...). |
Patrick Georgi | 3b77b72 | 2011-07-07 15:41:53 +0200 | [diff] [blame] | 45 | |
| 46 | Windows do not have to correspond to the entire screen. It is |
| 47 | possible to create smaller windows, and also to indicate that the |
| 48 | window is only partially visible on the screen. Furthermore, large |
| 49 | windows or pads, which are bigger than the actual screen size, may be |
Stefan Reinauer | 5bbc5e5 | 2015-11-10 09:13:43 -0800 | [diff] [blame] | 50 | created. |
Patrick Georgi | 3b77b72 | 2011-07-07 15:41:53 +0200 | [diff] [blame] | 51 | |
| 52 | Interfaces are also defined to allow input character manipulation and |
| 53 | to disable and enable many input attributes: character echo, single |
| 54 | character input with or without signal processing (cbreak or raw |
Stefan Reinauer | 5bbc5e5 | 2015-11-10 09:13:43 -0800 | [diff] [blame] | 55 | modes), carriage returns mapping to newlines, screen scrolling, etc. |
Patrick Georgi | 3b77b72 | 2011-07-07 15:41:53 +0200 | [diff] [blame] | 56 | |
| 57 | |
| 58 | Data Types and the <curses.h> Header |
| 59 | ------------------------------------ |
| 60 | |
| 61 | The data types supported by curses are described in this section. |
| 62 | |
Stefan Reinauer | 5bbc5e5 | 2015-11-10 09:13:43 -0800 | [diff] [blame] | 63 | As the library supports a procedural interface to the data types, actual |
| 64 | structure contents are not described. All curses data are manipulated |
Patrick Georgi | 3b77b72 | 2011-07-07 15:41:53 +0200 | [diff] [blame] | 65 | using the routines provided. |
| 66 | |
| 67 | |
| 68 | THE <curses.h> HEADER |
| 69 | |
Stefan Reinauer | 5bbc5e5 | 2015-11-10 09:13:43 -0800 | [diff] [blame] | 70 | The <curses.h> header defines various constants and declares the data |
Patrick Georgi | 3b77b72 | 2011-07-07 15:41:53 +0200 | [diff] [blame] | 71 | types that are available to the application. |
| 72 | |
| 73 | |
| 74 | DATA TYPES |
| 75 | |
| 76 | The following data types are declared: |
| 77 | |
| 78 | WINDOW * pointer to screen representation |
| 79 | SCREEN * pointer to terminal descriptor |
| 80 | bool boolean data type |
| 81 | chtype representation of a character in a window |
| 82 | cchar_t the wide-character equivalent of chtype |
| 83 | attr_t for WA_-style attributes |
| 84 | |
Stefan Reinauer | 5bbc5e5 | 2015-11-10 09:13:43 -0800 | [diff] [blame] | 85 | The actual WINDOW and SCREEN objects used to store information are |
| 86 | created by the corresponding routines and a pointer to them is provided. |
Patrick Georgi | 3b77b72 | 2011-07-07 15:41:53 +0200 | [diff] [blame] | 87 | All manipulation is through that pointer. |
| 88 | |
| 89 | |
| 90 | VARIABLES |
| 91 | |
| 92 | The following variables are defined: |
| 93 | |
| 94 | LINES number of lines on terminal screen |
| 95 | COLS number of columns on terminal screen |
Stefan Reinauer | 5bbc5e5 | 2015-11-10 09:13:43 -0800 | [diff] [blame] | 96 | stdscr pointer to the default screen window |
Patrick Georgi | 3b77b72 | 2011-07-07 15:41:53 +0200 | [diff] [blame] | 97 | curscr pointer to the current screen image |
| 98 | SP pointer to the current SCREEN struct |
| 99 | Mouse_status status of the mouse |
| 100 | COLORS number of colors available |
| 101 | COLOR_PAIRS number of color pairs available |
| 102 | TABSIZE size of one TAB block |
Stefan Reinauer | 5bbc5e5 | 2015-11-10 09:13:43 -0800 | [diff] [blame] | 103 | acs_map[] alternate character set map |
| 104 | ttytype[] terminal name/description |
Patrick Georgi | 3b77b72 | 2011-07-07 15:41:53 +0200 | [diff] [blame] | 105 | |
| 106 | |
| 107 | CONSTANTS |
| 108 | |
| 109 | The following constants are defined: |
| 110 | |
| 111 | GENERAL |
| 112 | |
| 113 | FALSE boolean false value |
| 114 | TRUE boolean true value |
| 115 | NULL zero pointer value |
| 116 | ERR value returned on error condition |
| 117 | OK value returned on successful completion |
| 118 | |
| 119 | VIDEO ATTRIBUTES |
| 120 | |
Stefan Reinauer | 5bbc5e5 | 2015-11-10 09:13:43 -0800 | [diff] [blame] | 121 | Normally, attributes are a property of the character. |
Patrick Georgi | 3b77b72 | 2011-07-07 15:41:53 +0200 | [diff] [blame] | 122 | |
| 123 | For chtype: |
| 124 | |
| 125 | A_ALTCHARSET use the alternate character set |
| 126 | A_BLINK bright background or blinking |
| 127 | A_BOLD bright foreground or bold |
| 128 | A_DIM half bright -- no effect in PDCurses |
| 129 | A_INVIS invisible |
| 130 | A_ITALIC italic |
| 131 | A_LEFTLINE line along the left edge |
Stefan Reinauer | 5bbc5e5 | 2015-11-10 09:13:43 -0800 | [diff] [blame] | 132 | A_PROTECT protected (?) -- PDCurses renders this as a |
Patrick Georgi | 3b77b72 | 2011-07-07 15:41:53 +0200 | [diff] [blame] | 133 | combination of the *LINE attributes |
| 134 | A_REVERSE reverse video |
| 135 | A_RIGHTLINE line along the right edge |
| 136 | A_STANDOUT terminal's best highlighting mode |
| 137 | A_UNDERLINE underline |
| 138 | |
| 139 | A_ATTRIBUTES bit-mask to extract attributes |
| 140 | A_CHARTEXT bit-mask to extract a character |
| 141 | A_COLOR bit-mask to extract a color-pair |
| 142 | |
Stefan Reinauer | 5bbc5e5 | 2015-11-10 09:13:43 -0800 | [diff] [blame] | 143 | Not all attributes will work on all terminals. A_RIGHTLINE, A_LEFTLINE |
| 144 | and A_ITALIC are specific to PDCurses. A_INVIS and A_ITALIC are given |
Patrick Georgi | 3b77b72 | 2011-07-07 15:41:53 +0200 | [diff] [blame] | 145 | the same value in PDCurses. |
| 146 | |
| 147 | For attr_t: |
| 148 | |
| 149 | WA_ALTCHARSET same as A_ALTCHARSET |
| 150 | WA_BLINK same as A_BLINK |
| 151 | WA_BOLD same as A_BOLD |
| 152 | WA_DIM same as A_DIM |
| 153 | WA_INVIS same as A_INVIS |
| 154 | WA_LEFT same as A_LEFTLINE |
| 155 | WA_PROTECT same as A_PROTECT |
| 156 | WA_REVERSE same as A_REVERSE |
| 157 | WA_RIGHT same as A_RIGHTLINE |
| 158 | WA_STANDOUT same as A_STANDOUT |
| 159 | WA_UNDERLINE same as A_UNDERLINE |
| 160 | |
Stefan Reinauer | 5bbc5e5 | 2015-11-10 09:13:43 -0800 | [diff] [blame] | 161 | Note that while A_LEFTLINE and A_RIGHTLINE are PDCurses-specific, |
| 162 | WA_LEFT and WA_RIGHT are standard. The following are also defined, for |
| 163 | compatibility, but currently have no effect in PDCurses: WA_HORIZONTAL, |
Patrick Georgi | 3b77b72 | 2011-07-07 15:41:53 +0200 | [diff] [blame] | 164 | WA_LOW, WA_TOP, WA_VERTICAL. |
| 165 | |
| 166 | THE ALTERNATE CHARACTER SET |
| 167 | |
Stefan Reinauer | 5bbc5e5 | 2015-11-10 09:13:43 -0800 | [diff] [blame] | 168 | For use in chtypes and with related functions. These are a portable way |
Patrick Georgi | 3b77b72 | 2011-07-07 15:41:53 +0200 | [diff] [blame] | 169 | to represent graphics characters on different terminals. |
| 170 | |
| 171 | VT100-compatible symbols -- box characters: |
| 172 | |
| 173 | ACS_ULCORNER upper left box corner |
| 174 | ACS_LLCORNER lower left box corner |
| 175 | ACS_URCORNER upper right box corner |
| 176 | ACS_LRCORNER lower right box corner |
| 177 | ACS_RTEE right "T" |
| 178 | ACS_LTEE left "T" |
| 179 | ACS_BTEE bottom "T" |
| 180 | ACS_TTEE top "T" |
| 181 | ACS_HLINE horizontal line |
| 182 | ACS_VLINE vertical line |
| 183 | ACS_PLUS plus sign, cross, or four-corner piece |
| 184 | |
| 185 | VT100-compatible symbols -- other: |
| 186 | |
| 187 | ACS_S1 scan line 1 |
| 188 | ACS_S9 scan line 9 |
| 189 | ACS_DIAMOND diamond |
| 190 | ACS_CKBOARD checkerboard -- 50% grey |
| 191 | ACS_DEGREE degree symbol |
| 192 | ACS_PLMINUS plus/minus sign |
| 193 | ACS_BULLET bullet |
| 194 | |
| 195 | Teletype 5410v1 symbols -- these are defined in SysV curses, but |
| 196 | are not well-supported by most terminals. Stick to VT100 characters |
| 197 | for optimum portability: |
| 198 | |
| 199 | ACS_LARROW left arrow |
| 200 | ACS_RARROW right arrow |
| 201 | ACS_DARROW down arrow |
| 202 | ACS_UARROW up arrow |
Stefan Reinauer | 5bbc5e5 | 2015-11-10 09:13:43 -0800 | [diff] [blame] | 203 | ACS_BOARD checkerboard -- lighter (less dense) than |
Patrick Georgi | 3b77b72 | 2011-07-07 15:41:53 +0200 | [diff] [blame] | 204 | ACS_CKBOARD |
| 205 | ACS_LANTERN lantern symbol |
| 206 | ACS_BLOCK solid block |
| 207 | |
| 208 | That goes double for these -- undocumented SysV symbols. Don't use |
| 209 | them: |
| 210 | |
| 211 | ACS_S3 scan line 3 |
| 212 | ACS_S7 scan line 7 |
| 213 | ACS_LEQUAL less than or equal |
| 214 | ACS_GEQUAL greater than or equal |
| 215 | ACS_PI pi |
| 216 | ACS_NEQUAL not equal |
| 217 | ACS_STERLING pounds sterling symbol |
| 218 | |
| 219 | Box character aliases: |
| 220 | |
| 221 | ACS_BSSB same as ACS_ULCORNER |
| 222 | ACS_SSBB same as ACS_LLCORNER |
| 223 | ACS_BBSS same as ACS_URCORNER |
| 224 | ACS_SBBS same as ACS_LRCORNER |
| 225 | ACS_SBSS same as ACS_RTEE |
| 226 | ACS_SSSB same as ACS_LTEE |
| 227 | ACS_SSBS same as ACS_BTEE |
| 228 | ACS_BSSS same as ACS_TTEE |
| 229 | ACS_BSBS same as ACS_HLINE |
| 230 | ACS_SBSB same as ACS_VLINE |
| 231 | ACS_SSSS same as ACS_PLUS |
| 232 | |
Stefan Reinauer | 5bbc5e5 | 2015-11-10 09:13:43 -0800 | [diff] [blame] | 233 | For cchar_t and wide-character functions, WACS_ equivalents are also |
Patrick Georgi | 3b77b72 | 2011-07-07 15:41:53 +0200 | [diff] [blame] | 234 | defined. |
| 235 | |
| 236 | COLORS |
| 237 | |
| 238 | For use with init_pair(), color_set(), etc.: |
| 239 | |
| 240 | COLOR_BLACK |
| 241 | COLOR_BLUE |
| 242 | COLOR_GREEN |
| 243 | COLOR_CYAN |
| 244 | COLOR_RED |
| 245 | COLOR_MAGENTA |
| 246 | COLOR_YELLOW |
| 247 | COLOR_WHITE |
| 248 | |
Stefan Reinauer | 5bbc5e5 | 2015-11-10 09:13:43 -0800 | [diff] [blame] | 249 | Use these instead of numeric values. The definition of the colors |
Patrick Georgi | 3b77b72 | 2011-07-07 15:41:53 +0200 | [diff] [blame] | 250 | depends on the implementation of curses. |
| 251 | |
| 252 | |
| 253 | INPUT VALUES |
| 254 | |
| 255 | The following constants might be returned by getch() if keypad() has |
| 256 | been enabled. Note that not all of these may be supported on a |
| 257 | particular terminal: |
| 258 | |
| 259 | KEY_BREAK break key |
| 260 | KEY_DOWN the four arrow keys |
| 261 | KEY_UP |
| 262 | KEY_LEFT |
| 263 | KEY_RIGHT |
| 264 | KEY_HOME home key (upward+left arrow) |
| 265 | KEY_BACKSPACE backspace |
| 266 | KEY_F0 function keys; space for 64 keys is reserved |
| 267 | KEY_F(n) (KEY_F0+(n)) |
| 268 | KEY_DL delete line |
| 269 | KEY_IL insert line |
| 270 | KEY_DC delete character |
| 271 | KEY_IC insert character |
| 272 | KEY_EIC exit insert character mode |
| 273 | KEY_CLEAR clear screen |
| 274 | KEY_EOS clear to end of screen |
| 275 | KEY_EOL clear to end of line |
| 276 | KEY_SF scroll 1 line forwards |
| 277 | KEY_SR scroll 1 line backwards (reverse) |
| 278 | KEY_NPAGE next page |
| 279 | KEY_PPAGE previous page |
| 280 | KEY_STAB set tab |
| 281 | KEY_CTAB clear tab |
| 282 | KEY_CATAB clear all tabs |
| 283 | KEY_ENTER enter or send |
| 284 | KEY_SRESET soft (partial) reset |
| 285 | KEY_RESET reset or hard reset |
| 286 | KEY_PRINT print or copy |
| 287 | KEY_LL home down or bottom (lower left) |
| 288 | KEY_A1 upper left of virtual keypad |
| 289 | KEY_A3 upper right of virtual keypad |
| 290 | KEY_B2 center of virtual keypad |
| 291 | KEY_C1 lower left of virtual keypad |
| 292 | KEY_C3 lower right of virtual keypad |
| 293 | |
| 294 | KEY_BTAB Back tab key |
| 295 | KEY_BEG Beginning key |
| 296 | KEY_CANCEL Cancel key |
| 297 | KEY_CLOSE Close key |
| 298 | KEY_COMMAND Cmd (command) key |
| 299 | KEY_COPY Copy key |
| 300 | KEY_CREATE Create key |
| 301 | KEY_END End key |
| 302 | KEY_EXIT Exit key |
| 303 | KEY_FIND Find key |
| 304 | KEY_HELP Help key |
| 305 | KEY_MARK Mark key |
| 306 | KEY_MESSAGE Message key |
| 307 | KEY_MOVE Move key |
| 308 | KEY_NEXT Next object key |
| 309 | KEY_OPEN Open key |
| 310 | KEY_OPTIONS Options key |
| 311 | KEY_PREVIOUS Previous object key |
| 312 | KEY_REDO Redo key |
| 313 | KEY_REFERENCE Reference key |
| 314 | KEY_REFRESH Refresh key |
| 315 | KEY_REPLACE Replace key |
| 316 | KEY_RESTART Restart key |
| 317 | KEY_RESUME Resume key |
| 318 | KEY_SAVE Save key |
| 319 | KEY_SBEG Shifted beginning key |
| 320 | KEY_SCANCEL Shifted cancel key |
| 321 | KEY_SCOMMAND Shifted command key |
| 322 | KEY_SCOPY Shifted copy key |
| 323 | KEY_SCREATE Shifted create key |
| 324 | KEY_SDC Shifted delete char key |
| 325 | KEY_SDL Shifted delete line key |
| 326 | KEY_SELECT Select key |
| 327 | KEY_SEND Shifted end key |
| 328 | KEY_SEOL Shifted clear line key |
| 329 | KEY_SEXIT Shifted exit key |
| 330 | KEY_SFIND Shifted find key |
| 331 | KEY_SHELP Shifted help key |
| 332 | KEY_SHOME Shifted home key |
| 333 | KEY_SIC Shifted input key |
| 334 | KEY_SLEFT Shifted left arrow key |
| 335 | KEY_SMESSAGE Shifted message key |
| 336 | KEY_SMOVE Shifted move key |
| 337 | KEY_SNEXT Shifted next key |
| 338 | KEY_SOPTIONS Shifted options key |
| 339 | KEY_SPREVIOUS Shifted prev key |
| 340 | KEY_SPRINT Shifted print key |
| 341 | KEY_SREDO Shifted redo key |
| 342 | KEY_SREPLACE Shifted replace key |
| 343 | KEY_SRIGHT Shifted right arrow |
| 344 | KEY_SRSUME Shifted resume key |
| 345 | KEY_SSAVE Shifted save key |
| 346 | KEY_SSUSPEND Shifted suspend key |
| 347 | KEY_SUNDO Shifted undo key |
| 348 | KEY_SUSPEND Suspend key |
| 349 | KEY_UNDO Undo key |
| 350 | |
| 351 | The virtual keypad is arranged like this: |
| 352 | |
| 353 | A1 up A3 |
| 354 | left B2 right |
| 355 | C1 down C3 |
| 356 | |
Stefan Reinauer | 5bbc5e5 | 2015-11-10 09:13:43 -0800 | [diff] [blame] | 357 | This list is incomplete -- see curses.h for the full list, and use the |
| 358 | testcurs demo to see what values are actually returned. The above are |
| 359 | just the keys required by X/Open. In particular, PDCurses defines many |
Patrick Georgi | 3b77b72 | 2011-07-07 15:41:53 +0200 | [diff] [blame] | 360 | CTL_ and ALT_ combinations; these are not portable. |
| 361 | |
| 362 | |
| 363 | FUNCTIONS |
| 364 | |
Stefan Reinauer | 5bbc5e5 | 2015-11-10 09:13:43 -0800 | [diff] [blame] | 365 | The following table lists each curses routine and the name of the manual |
Patrick Georgi | 3b77b72 | 2011-07-07 15:41:53 +0200 | [diff] [blame] | 366 | page on which it is described. |
| 367 | |
Stefan Reinauer | 5bbc5e5 | 2015-11-10 09:13:43 -0800 | [diff] [blame] | 368 | Functions from the X/Open curses standard -- complete, except for |
| 369 | getch() and ungetch(), which are implemented as macros for DOS |
Patrick Georgi | 3b77b72 | 2011-07-07 15:41:53 +0200 | [diff] [blame] | 370 | compatibility: |
| 371 | |
| 372 | Curses Function Manual Page Name |
| 373 | |
| 374 | addch addch |
| 375 | addchnstr addchstr |
| 376 | addchstr addchstr |
| 377 | addnstr addstr |
| 378 | addstr addstr |
| 379 | attroff attr |
| 380 | attron attr |
| 381 | attrset attr |
| 382 | attr_get attr |
| 383 | attr_off attr |
| 384 | attr_on attr |
| 385 | attr_set attr |
| 386 | baudrate termattr |
| 387 | beep beep |
| 388 | bkgd bkgd |
| 389 | bkgdset bkgd |
| 390 | border border |
| 391 | box border |
| 392 | can_change_color color |
| 393 | cbreak inopts |
| 394 | chgat attr |
| 395 | clearok outopts |
| 396 | clear clear |
| 397 | clrtobot clear |
| 398 | clrtoeol clear |
| 399 | color_content color |
| 400 | color_set attr |
| 401 | copywin overlay |
| 402 | curs_set kernel |
| 403 | def_prog_mode kernel |
| 404 | def_shell_mode kernel |
| 405 | del_curterm terminfo |
| 406 | delay_output util |
| 407 | delch delch |
| 408 | deleteln deleteln |
| 409 | delscreen initscr |
| 410 | delwin window |
| 411 | derwin window |
| 412 | doupdate refresh |
| 413 | dupwin window |
| 414 | echochar addch |
| 415 | echo inopts |
| 416 | endwin initscr |
| 417 | erasechar termattr |
| 418 | erase clear |
| 419 | filter util |
| 420 | flash beep |
| 421 | flushinp getch |
| 422 | getbkgd bkgd |
| 423 | getnstr getstr |
| 424 | getstr getstr |
| 425 | getwin scr_dump |
| 426 | halfdelay inopts |
| 427 | has_colors color |
| 428 | has_ic termattr |
| 429 | has_il termattr |
| 430 | hline border |
| 431 | idcok outopts |
| 432 | idlok outopts |
| 433 | immedok outopts |
| 434 | inchnstr inchstr |
| 435 | inchstr inchstr |
| 436 | inch inch |
| 437 | init_color color |
| 438 | init_pair color |
| 439 | initscr initscr |
| 440 | innstr instr |
| 441 | insch insch |
| 442 | insdelln deleteln |
| 443 | insertln deleteln |
| 444 | insnstr innstr |
| 445 | insstr innstr |
| 446 | instr instr |
| 447 | intrflush inopts |
| 448 | isendwin initscr |
| 449 | is_linetouched touch |
| 450 | is_wintouched touch |
| 451 | keyname keyname |
| 452 | keypad inopts |
| 453 | killchar termattr |
| 454 | leaveok outopts |
| 455 | longname termattr |
| 456 | meta inopts |
| 457 | move move |
| 458 | mvaddch addch |
| 459 | mvaddchnstr addchstr |
| 460 | mvaddchstr addchstr |
| 461 | mvaddnstr addstr |
| 462 | mvaddstr addstr |
| 463 | mvchgat attr |
| 464 | mvcur terminfo |
| 465 | mvdelch delch |
| 466 | mvderwin window |
| 467 | mvgetch getch |
| 468 | mvgetnstr getstr |
| 469 | mvgetstr getstr |
| 470 | mvhline border |
| 471 | mvinch inch |
| 472 | mvinchnstr inchstr |
| 473 | mvinchstr inchstr |
| 474 | mvinnstr instr |
| 475 | mvinsch insch |
| 476 | mvinsnstr insstr |
| 477 | mvinsstr insstr |
| 478 | mvinstr instr |
| 479 | mvprintw printw |
| 480 | mvscanw scanw |
| 481 | mvvline border |
| 482 | mvwaddchnstr addchstr |
| 483 | mvwaddchstr addchstr |
| 484 | mvwaddch addch |
| 485 | mvwaddnstr addstr |
| 486 | mvwaddstr addstr |
| 487 | mvwchgat attr |
| 488 | mvwdelch delch |
| 489 | mvwgetch getch |
| 490 | mvwgetnstr getstr |
| 491 | mvwgetstr getstr |
| 492 | mvwhline border |
| 493 | mvwinchnstr inchstr |
| 494 | mvwinchstr inchstr |
| 495 | mvwinch inch |
| 496 | mvwinnstr instr |
| 497 | mvwinsch insch |
| 498 | mvwinsnstr insstr |
| 499 | mvwinsstr insstr |
| 500 | mvwinstr instr |
| 501 | mvwin window |
| 502 | mvwprintw printw |
| 503 | mvwscanw scanw |
| 504 | mvwvline border |
| 505 | napms kernel |
| 506 | newpad pad |
| 507 | newterm initscr |
| 508 | newwin window |
| 509 | nl inopts |
| 510 | nocbreak inopts |
| 511 | nodelay inopts |
| 512 | noecho inopts |
| 513 | nonl inopts |
| 514 | noqiflush inopts |
| 515 | noraw inopts |
| 516 | notimeout inopts |
| 517 | overlay overlay |
| 518 | overwrite overlay |
| 519 | pair_content color |
| 520 | pechochar pad |
| 521 | pnoutrefresh pad |
| 522 | prefresh pad |
| 523 | printw printw |
| 524 | putp terminfo |
| 525 | putwin scr_dump |
| 526 | qiflush inopts |
| 527 | raw inopts |
| 528 | redrawwin refresh |
| 529 | refresh refresh |
| 530 | reset_prog_mode kernel |
| 531 | reset_shell_mode kernel |
| 532 | resetty kernel |
| 533 | restartterm terminfo |
| 534 | ripoffline kernel |
| 535 | savetty kernel |
| 536 | scanw scanw |
| 537 | scr_dump scr_dump |
| 538 | scr_init scr_dump |
| 539 | scr_restore scr_dump |
| 540 | scr_set scr_dump |
| 541 | scrl scroll |
| 542 | scroll scroll |
| 543 | scrollok outopts |
| 544 | set_term initscr |
| 545 | setscrreg outopts |
| 546 | setterm terminfo |
| 547 | setupterm terminfo |
| 548 | slk_attroff slk |
| 549 | slk_attr_off slk |
| 550 | slk_attron slk |
| 551 | slk_attr_on slk |
| 552 | slk_attrset slk |
| 553 | slk_attr_set slk |
| 554 | slk_clear slk |
| 555 | slk_color slk |
| 556 | slk_init slk |
| 557 | slk_label slk |
| 558 | slk_noutrefresh slk |
| 559 | slk_refresh slk |
| 560 | slk_restore slk |
| 561 | slk_set slk |
| 562 | slk_touch slk |
| 563 | standend attr |
| 564 | standout attr |
| 565 | start_color color |
| 566 | subpad pad |
| 567 | subwin window |
| 568 | syncok window |
| 569 | termattrs termattrs |
| 570 | term_attrs termattrs |
| 571 | termname termattrs |
| 572 | tgetent termcap |
| 573 | tgetflag termcap |
| 574 | tgetnum termcap |
| 575 | tgetstr termcap |
| 576 | tgoto termcap |
| 577 | tigetflag terminfo |
| 578 | tigetnum terminfo |
| 579 | tigetstr terminfo |
| 580 | timeout inopts |
| 581 | touchline touch |
| 582 | touchwin touch |
| 583 | tparm terminfo |
| 584 | tputs terminfo |
| 585 | typeahead inopts |
| 586 | untouchwin touch |
| 587 | use_env util |
| 588 | vidattr terminfo |
| 589 | vid_attr terminfo |
| 590 | vidputs terminfo |
| 591 | vid_puts terminfo |
| 592 | vline border |
| 593 | vw_printw printw |
| 594 | vwprintw printw |
| 595 | vw_scanw scanw |
| 596 | vwscanw scanw |
| 597 | waddchnstr addchstr |
| 598 | waddchstr addchstr |
| 599 | waddch addch |
| 600 | waddnstr addstr |
| 601 | waddstr addstr |
| 602 | wattroff attr |
| 603 | wattron attr |
| 604 | wattrset attr |
| 605 | wattr_get attr |
| 606 | wattr_off attr |
| 607 | wattr_on attr |
| 608 | wattr_set attr |
| 609 | wbkgdset bkgd |
| 610 | wbkgd bkgd |
| 611 | wborder border |
| 612 | wchgat attr |
| 613 | wclear clear |
| 614 | wclrtobot clear |
| 615 | wclrtoeol clear |
| 616 | wcolor_set attr |
| 617 | wcursyncup window |
| 618 | wdelch delch |
| 619 | wdeleteln deleteln |
| 620 | wechochar addch |
| 621 | werase clear |
| 622 | wgetch getch |
| 623 | wgetnstr getstr |
| 624 | wgetstr getstr |
| 625 | whline border |
| 626 | winchnstr inchstr |
| 627 | winchstr inchstr |
| 628 | winch inch |
| 629 | winnstr instr |
| 630 | winsch insch |
| 631 | winsdelln deleteln |
| 632 | winsertln deleteln |
| 633 | winsnstr insstr |
| 634 | winsstr insstr |
| 635 | winstr instr |
| 636 | wmove move |
| 637 | wnoutrefresh refresh |
| 638 | wprintw printw |
| 639 | wredrawln refresh |
| 640 | wrefresh refresh |
| 641 | wscanw scanw |
| 642 | wscrl scroll |
| 643 | wsetscrreg outopts |
| 644 | wstandend attr |
| 645 | wstandout attr |
| 646 | wsyncdown window |
| 647 | wsyncup window |
| 648 | wtimeout inopts |
| 649 | wtouchln touch |
| 650 | wvline border |
| 651 | |
Stefan Reinauer | 5bbc5e5 | 2015-11-10 09:13:43 -0800 | [diff] [blame] | 652 | Wide-character functions from the X/Open standard -- these are only |
| 653 | available when PDCurses is built with PDC_WIDE defined, and the |
| 654 | prototypes are only available from curses.h when PDC_WIDE is defined |
Patrick Georgi | 3b77b72 | 2011-07-07 15:41:53 +0200 | [diff] [blame] | 655 | before its inclusion in your app: |
| 656 | |
| 657 | addnwstr addstr |
| 658 | addwstr addstr |
| 659 | add_wch addch |
| 660 | add_wchnstr addchstr |
| 661 | add_wchstr addchstr |
| 662 | border_set border |
| 663 | box_set border |
| 664 | echo_wchar addch |
| 665 | erasewchar termattr |
| 666 | getbkgrnd bkgd |
| 667 | getcchar util |
| 668 | getn_wstr getstr |
| 669 | get_wch getch |
| 670 | get_wstr getstr |
| 671 | hline_set border |
| 672 | innwstr instr |
| 673 | ins_nwstr insstr |
| 674 | ins_wch insch |
| 675 | ins_wstr insstr |
| 676 | inwstr instr |
| 677 | in_wch inch |
| 678 | in_wchnstr inchstr |
| 679 | in_wchstr inchstr |
| 680 | key_name keyname |
| 681 | killwchar termattr |
| 682 | mvaddnwstr addstr |
| 683 | mvaddwstr addstr |
| 684 | mvadd_wch addch |
| 685 | mvadd_wchnstr addchstr |
| 686 | mvadd_wchstr addchstr |
| 687 | mvgetn_wstr getstr |
| 688 | mvget_wch getch |
| 689 | mvget_wstr getstr |
| 690 | mvhline_set border |
| 691 | mvinnwstr instr |
| 692 | mvins_nwstr insstr |
| 693 | mvins_wch insch |
| 694 | mvins_wstr insstr |
| 695 | mvinwstr instr |
| 696 | mvwaddnwstr addstr |
| 697 | mvwaddwstr addstr |
| 698 | mvwadd_wch addch |
| 699 | mvwadd_wchnstr addchstr |
| 700 | mvwadd_wchstr addchstr |
| 701 | mvwgetn_wstr getstr |
| 702 | mvwget_wch getch |
| 703 | mvwget_wstr getstr |
| 704 | mvwhline_set border |
| 705 | mvwinnwstr instr |
| 706 | mvwins_nwstr insstr |
| 707 | mvwins_wch insch |
| 708 | mvwins_wstr insstr |
| 709 | mvwin_wch inch |
| 710 | mvwin_wchnstr inchstr |
| 711 | mvwin_wchstr inchstr |
| 712 | mvwinwstr instr |
| 713 | mvwvline_set border |
| 714 | pecho_wchar pad |
| 715 | setcchar util |
| 716 | slk_wset slk |
| 717 | unget_wch getch |
| 718 | vline_set border |
| 719 | waddnwstr addstr |
| 720 | waddwstr addstr |
| 721 | wadd_wch addch |
| 722 | wadd_wchnstr addchstr |
| 723 | wadd_wchstr addchstr |
| 724 | wbkgrnd bkgd |
| 725 | wbkgrndset bkgd |
| 726 | wborder_set border |
| 727 | wecho_wchar addch |
| 728 | wgetbkgrnd bkgd |
| 729 | wgetn_wstr getstr |
| 730 | wget_wch getch |
| 731 | wget_wstr getstr |
| 732 | whline_set border |
| 733 | winnwstr instr |
| 734 | wins_nwstr insstr |
| 735 | wins_wch insch |
| 736 | wins_wstr insstr |
| 737 | winwstr instr |
| 738 | win_wch inch |
| 739 | win_wchnstr inchstr |
| 740 | win_wchstr inchstr |
| 741 | wunctrl util |
| 742 | wvline_set border |
| 743 | |
| 744 | Quasi-standard functions, from Sys V or BSD curses: |
| 745 | |
| 746 | getattrs attr |
| 747 | getbegx getyx |
| 748 | getbegy getyx |
| 749 | getmaxx getyx |
| 750 | getmaxy getyx |
| 751 | getparx getyx |
| 752 | getparx getyx |
| 753 | traceoff debug |
| 754 | traceon debug |
| 755 | unctrl util |
| 756 | |
| 757 | Classic PDCurses mouse functions, based on Sys V: |
| 758 | |
| 759 | mouse_set mouse |
| 760 | mouse_on mouse |
| 761 | mouse_off mouse |
| 762 | request_mouse_pos mouse |
| 763 | map_button mouse |
| 764 | wmouse_position mouse |
| 765 | getmouse mouse |
| 766 | getbmap mouse |
| 767 | |
| 768 | Functions from ncurses: |
| 769 | |
| 770 | assume_default_colors color |
| 771 | curses_version initscr |
| 772 | has_key keyname |
| 773 | use_default_colors color |
| 774 | wresize window |
| 775 | |
| 776 | mouseinterval mouse |
| 777 | mousemask mouse |
| 778 | mouse_trafo mouse |
| 779 | nc_getmouse mouse |
| 780 | ungetmouse mouse |
| 781 | wenclose mouse |
| 782 | wmouse_trafo mouse |
| 783 | |
Stefan Reinauer | 5bbc5e5 | 2015-11-10 09:13:43 -0800 | [diff] [blame] | 784 | PDCurses-specific functions -- avoid these in code that's intended to be |
Patrick Georgi | 3b77b72 | 2011-07-07 15:41:53 +0200 | [diff] [blame] | 785 | portable: |
| 786 | |
| 787 | addrawch addch |
| 788 | insrawch insch |
| 789 | is_termresized initscr |
| 790 | mvaddrawch addch |
| 791 | mvdeleteln deleteln |
| 792 | mvinsertln deleteln |
| 793 | mvinsrawch insch |
| 794 | mvwaddrawch addch |
| 795 | mvwdeleteln deleteln |
| 796 | mvwinsertln deleteln |
| 797 | mvwinsrawch insch |
| 798 | raw_output outopts |
| 799 | resize_term initscr |
| 800 | resize_window window |
| 801 | slk_wlabel slk |
| 802 | waddrawch addch |
| 803 | winsrawch insch |
| 804 | wordchar termattr |
| 805 | |
| 806 | PDC_debug debug |
| 807 | PDC_ungetch getch |
| 808 | PDC_set_blink pdcsetsc |
| 809 | PDC_set_line_color color |
| 810 | PDC_set_title pdcsetsc |
| 811 | |
| 812 | PDC_clearclipboard pdcclip |
| 813 | PDC_freeclipboard pdcclip |
| 814 | PDC_getclipboard pdcclip |
| 815 | PDC_setclipboard pdcclip |
| 816 | |
| 817 | PDC_get_input_fd pdckbd |
| 818 | PDC_get_key_modifiers getch |
| 819 | PDC_return_key_modifiers getch |
| 820 | PDC_save_key_modifiers getch |
| 821 | |
| 822 | Functions specific to the X11 port of PDCurses: |
| 823 | |
| 824 | Xinitscr initscr |
| 825 | XCursesExit - |
| 826 | sb_init sb |
| 827 | sb_set_horz sb |
| 828 | sb_set_vert sb |
| 829 | sb_get_horz sb |
| 830 | sb_get_vert sb |
| 831 | sb_refresh sb |
| 832 | |
| 833 | -------------------------------------------------------------------------- |