Lines Matching +full:v +full:- +full:blanking
5 by Eric S. Raymond and Zeyd M. Ben-Halim
31 o Low-Level Capability Access
71 + Variable-Sized Fields
84 o Inter-Field Navigation Requests
85 o Intra-Field Navigation Requests
117 The curses package is a subroutine library for terminal-independent
118 screen-painting and input-event handling which presents a high level
128 the advantage of (a) back-portability to character-cell terminals, and
129 (b) simplicity. For an application that does not require bit-mapped
137 provide screen-handling for the vi editor; these used the termcap
148 subsequently released in System V Release 2 (early 1984). Thereafter,
153 source-code or documentation; the tic and infocmp programs are the
156 System V Release 3 (System III UNIX) from Bell Labs featured a
157 rewritten and much-improved curses library, along with the tic program
164 terminals than possible with termcap. In the later AT&T System V
170 This document describes ncurses, a free implementation of the System V
172 following System V curses features:
174 handle one "standout" highlight, usually reverse-video).
175 * Support for line- and box-drawing using forms characters.
193 maintainer of this package is Zeyd Ben-Halim <zmbenhal@netcom.com>.
198 Contact the current maintainers at bug-ncurses@gnu.org.
208 extension libraries, also cloned from System V, which support easy
209 construction and sequences of menus and fill-in forms.
217 A data structure describing a sub-rectangle of the screen
246 includes, too. In linking with curses you need to have -lncurses in
290 routine waddch() (for window-specific addch()) is provided. This
323 ------------------------------------------------------------------
340 error flag returned by routines on a failure (-1).
364 /* initialize your non-curses data structures here */
370 (void) nonl(); /* tell curses not to do NL->CR/NL on output */
372 (void) echo(); /* echo input - in color */
409 /* do your non-curses wrapup here */
479 When you need to accept line-oriented input in a window, the functions
481 that can do scanf()(3)-style multi-field parsing on window input.
482 These pseudo-line-oriented functions turn on echoing while they
486 support for function-key mapping. With this feature, the getch() code
489 pseudo-character values. The #define values returned are listed in the
496 can accept some pseudo-character arguments which are specially defined
500 The most useful of the ACS defines are the forms-drawing characters.
508 reverse-video, underline, and blink. It also supports color, which is
512 pseudo-character type (chtype) that curses.h uses to represent the
516 There are two ways to make highlights. One is to logical-or the value
520 The other is to set the current-highlight value. This is logical-ORed
526 all of the guaranteed-available colors on black. Note that each color
528 range of eight non-conflicting values could have been used as the
531 Once you have done an init_pair() that creates color-pair N, you can
534 compile-time constant and can be used in initializers.
541 either the XSI Curses standard, nor of System V Release 4, nor BSD
542 curses. System V Release 4 curses contains code with similar
546 mouse-related code in an #ifdef using the feature macro
548 non-ncurses systems.
558 function mousemask(), passing it as first argument a bit-mask that
560 see. It will return the bit-mask of events that actually become
573 zero-origin, screen-relative character-cell coordinates of the mouse
580 for a z coordinate; this might be useful with touch-screens that can
587 single-, double- and triple-clicks (you can set the maximum
588 button-down time for clicks). If you do not make clicks visible, they
589 will be reported as press-release pairs. In some environments, the
600 shortcut for point-and-shoot commands your application would normally
606 mouse-interface functions.
612 was first called, and moves the cursor down to the lower-left corner.
637 reset the terminal into the proper non-visual mode. Calling
694 Low-Level Capability Access
699 tty-driver mode bits. term is the character string representing
704 such terminal), or -1 (some problem locating the terminfo
733 levels enable more detailed (and verbose) reporting -- see
741 -lncurses_g. It can be used the same way as printf(), only it
749 single-line pseudo-operations. These pseudo-ops can be distinguished
784 does a pretty good job of strengthening the overlapping-windows
796 mode. A common reason for this is to support shell-out. This behavior
801 cooked mode; you can do your shell-out. When you want to return to
837 it cannot know how you want the screen re-painted. You will usually
838 have to write special-purpose code to handle KEY_RESIZE yourself.
861 (cursor-addressable) or "stupid". The right way to test this is to see
862 if the return value of tigetstr("cup") is non-NULL. Alternatively, you
868 Use the addchstr() family of functions for fast screen-painting of
879 The define_key() function allows you to define at runtime function-key
882 interpretation of any function-key control sequence.
917 does with its argument -- what portions of the argument window it
931 they do change copy or entire copy. We know that System V release 3
938 entire-copy, but it is possible with some effort and straining to read
944 call to guarantee an entire-contents copy anywhere.
964 This change in behavior conforms ncurses to System V Release 4 and the
969 The ncurses library is intended to be base-level conformant with the
970 XSI Curses standard from X/Open. Many extended-level features (in
975 under "Background Erase -- Compatibility with Old Versions".
979 prototype-checked) if the macro definition is disabled with #undef.
984 displays in which the windows are tiled (non-overlapping). In the more
987 the order you do the window refreshes in. It has to be bottom-upwards,
992 book-keeping can be tedious and difficult to get right. Hence the
995 The panel library first appeared in AT&T System V. The version
1000 Your panels-using modules must import the panels library declarations
1004 and must be linked explicitly with the panels library using an -lpanel
1006 -lncurses. Many linkers are two-pass and will accept either order, but
1007 it is still good practice to put -lpanel first and -lncurses second.
1013 bottom-to-top visibility order. The panels library includes an update
1030 panel code will re-compute all overlaps. This operation does not
1085 or below that panel. Handed NULL, they return the bottom-most or
1086 top-most panel.
1099 The menu library first appeared in AT&T System V. The version
1104 Your menu-using modules must import the menu library declarations with
1107 and must be linked explicitly with the menus library using an -lmenu
1109 -lncurses. Many linkers are two-pass and will accept either order, but
1110 it is still good practice to put -lmenu first and -lncurses second.
1128 re-use.
1144 Menus may be multi-valued or (the default) single-valued (see the
1148 From a single-valued menu you can read the selected value simply by
1149 looking at the current item. From a multi-valued menu, you get the
1151 predicate function. Your menu-processing code can use the function
1177 (on by default) causes menu items to be displayed in a "raster-scan"
1179 couple of items are side-by-side in the top row. The alternative is
1180 column-major display, which tries to put the first several items in
1184 to fit on-screen will result in a menu display that is vertically
1224 The main loop of your menu-processing code should call menu_driver()
1226 second is a menu command code. You should write an input-fetching
1243 use in multi-valued menus; if you use it with O_ONEVALUE on, you will
1256 multi-valued menu.
1263 considered application-specific commands. The menu_driver() code
1288 of on-screen forms for data entry and program control.
1290 The form library first appeared in AT&T System V. The version
1295 Your form-using modules must import the form library declarations with
1298 and must be linked explicitly with the forms library using an -lform
1300 -lncurses. Many linkers are two-pass and will accept either order, but
1301 it is still good practice to put -lform first and -lncurses second.
1306 (explanatory text) or a data-entry location. Long forms may be
1323 and value. The form library supplies a rich set of pre-defined field
1328 associated with it and its items available for re-use.
1348 more complicated than for menus. Besides menu-like navigation
1371 The fifth argument allows you to specify a number of off-screen rows.
1373 nonzero, the form will be scrollable, with only one screen-full
1407 As you might guess, all these field-allocations return NULL if the
1408 field allocation is not possible due to an out-of-memory error or
1409 out-of-bounds arguments.
1414 This function expects to see a NULL-terminated array of field
1415 pointers. Said fields are connected to a newly-allocated form object;
1425 to a form, but not vice-versa; thus, you will generally free your form
1439 attribute-setting and -fetching functions, the argument NULL is taken
1460 int top, int left); /* new upper-left corner */
1466 One-line fields may be unjustified, justified right, justified left,
1551 REQ_NEXT_CHOICE will fail. Such read-only fields may be useful
1555 Controls word-wrapping in multi-line fields. Normally, when any
1556 character of a (blank-separated) word reaches the end of the
1562 Controls field blanking. When this option is on, entering a
1564 (except for the just-entered character).
1595 The option values are bit-masks and can be composed with logical-or in
1625 to store private per-field data. You can manipulate it with:
1632 (char *) type is retained for System V compatibility.)
1636 field is created, the default-field user pointer is copied to
1639 Variable-Sized Fields
1647 A one-line dynamic field will have a fixed height (1) but variable
1649 originally dimensioned and located. A multi-line dynamic field will
1660 If the field is one-line, max_size is taken to be a column size limit;
1661 if it is multi-line, it is taken to be a line size limit. To disable
1670 * The dup_field() and link_field() calls copy dynamic-buffer sizes.
1684 validation types also have a character-validity check for each time a
1691 The form library provides a rich set of pre-defined validation types,
1704 validation of newly-created fields.
1706 Here are the pre-defined validation types:
1711 special characters (this is checked at character-entry time). It is
1725 special characters (this is checked at character-entry time). It is
1739 specified set of string values (for example, the two-letter postal
1744 int checkcase; /* case-sensitive? */
1747 The valuelist parameter must point at a NULL-terminated list of valid
1749 string case-sensitive.
1770 int padding, /* # places to zero-pad to */
1812 for regular-expression match is performed on exit.
1822 Normally, the state of the zero-numbered buffer for each field is set
1824 be able to set the value of the zero-numbered (or some other) buffer
1840 buffer value reflects on-screen reality, call field_buffer() either
1849 of these functions using a form-pointer argument of NULL.
1860 The second argument of set_form_fields() may be a NULL-terminated
1870 connected to a given from. It returns -1 if the form-pointer argument
1880 library associates every form with the full-screen window stdscr.
1929 one-line and has undisplayed data off to the right, (b) the current
1930 field is multi-line and there is data off-screen below it.
1933 character position is off-screen (not being displayed).
1941 re-synchronize it.
1953 data to be entered in the currently-selected field), or a forms
1956 The forms driver provides hooks (through input-validation and
1957 field-termination functions) with which your application code can
1962 These requests cause page-level moves through the form, triggering
1981 Inter-Field Navigation Requests
2029 in screen-position order, so the sequence goes left-to-right and
2030 top-to-bottom. To do this, use the second group of four
2031 sorted-movement requests.
2036 of these requests is its upper-left corner.
2038 For example, suppose you have a multi-line field B, and two
2039 single-line fields A and C on the same line with B, with A to the left
2044 Intra-Field Navigation Requests
2093 look for the first or last non-pad character in their ranges.
2098 with offscreen rows are scrollable. One-line fields scroll
2099 horizontally; multi-line fields scroll vertically. Most scrolling is
2100 triggered by editing and intra-field movement (the library scrolls the
2240 Of the built-in field types, only TYPE_ENUM has built-in successor and
2249 MAX_COMMAND. If your input-virtualization routine returns a value
2338 int page); /* page to go to (0-origin) */
2342 The initial page of a newly-created form is 0. The function
2373 The option values are bit-masks and can be composed with logical-or in
2381 Most of the complications in the validation-type interface have to do
2394 predefined or programmer-defined). If a set_field_type() call later
2406 * A character-validation function, to check each character as it is
2408 * A field-validation function to be applied on exit from the field.
2418 At least one of the arguments of new_fieldtype() must be non-NULL. The
2437 Your field- and character- validation functions will be passed a
2440 field-type-specific arguments passed to set_field_type(). If no such
2445 functions, you must associate a small set of storage-management
2459 Here is how the storage-management hooks are used:
2463 argument, a va_list of the type-specific arguments passed to
2474 This function is called by field- and type-deallocation
2486 Some custom field types are simply ordered in the same well-defined
2509 the pre-defined types seems to be closest to what you want.