462 string by embedded newline characters. If app_file != NULL then it is
463 interpreted as the full pathname of an application-specific
464 configuration file. If user_file != NULL then it is interpreted as the
465 full path name of a user-specific configuration file, such as
466 ~/.teclarc. For example, in the call
467
468 gl_configure_getline(gl, "edit-mode vi \n nobeep",
469 "/usr/share/myapp/teclarc", "~/.teclarc");
470
471
472
473 The app_string argument causes the calling application to start in
474 vi(1) edit-mode, instead of the default emacs mode, and turns off the
475 use of the terminal bell by the library. It then attempts to read
476 system-wide configuration commands from an optional file called
477 /usr/share/myapp/teclarc, then finally reads user-specific
478 configuration commands from an optional .teclarc file in the user's
479 home directory. Note that the arguments are listed in ascending order
480 of priority, with the contents of app_string being potentially over
481 riden by commands in app_file, and commands in app_file potentially
482 being overriden by commands in user_file.
483
484
485 You can call this function as many times as needed, the results being
486 cumulative, but note that copies of any file names specified with the
487 app_file and user_file arguments are recorded internally for subsequent
488 use by the read-init-files key-binding function, so if you plan to call
489 this function multiple times, be sure that the last call specifies the
490 filenames that you want re-read when the user requests that the
491 configuration files be re-read.
492
493
494 Individual key sequences can also be bound and unbound using the
495 gl_bind_keyseq() function. The origin argument specifies the priority
496 of the binding, according to whom it is being established for, and must
497 be one of the following two values.
498
499 GL_USER_KEY
500 The user requested this key-binding.
501
502
1794 when gl_get_line() is next called.
1795
1796 Displaying Text Dynamically
1797 Between calls to gl_get_line(), the gl_display_text() function provides
1798 a convenient way to display paragraphs of text, left-justified and
1799 split over one or more terminal lines according to the constraints of
1800 the current width of the terminal. Examples of the use of this function
1801 may be found in the demo programs, where it is used to display
1802 introductions. In those examples the advanced use of optional
1803 prefixes, suffixes and filled lines to draw a box around the text is
1804 also illustrated.
1805
1806
1807 If gl is not currently connected to a terminal, for example if the
1808 output of a program that uses gl_get_line() is being piped to another
1809 program or redirected to a file, then the value of the def_width
1810 parameter is used as the terminal width.
1811
1812
1813 The indentation argument specifies the number of characters to use to
1814 indent each line of ouput. The fill_char argument specifies the
1815 character that will be used to perform this indentation.
1816
1817
1818 The prefix argument can be either NULL or a string to place at the
1819 beginning of each new line (after any indentation). Similarly, the
1820 suffix argument can be either NULL or a string to place at the end of
1821 each line. The suffix is placed flush against the right edge of the
1822 terminal, and any space between its first character and the last word
1823 on that line is filled with the character specified by the fill_char
1824 argument. Normally the fill-character is a space.
1825
1826
1827 The start argument tells gl_display_text() how many characters have
1828 already been written to the current terminal line, and thus tells it
1829 the starting column index of the cursor. Since the return value of
1830 gl_display_text() is the ending column index of the cursor, by passing
1831 the return value of one call to the start argument of the next call, a
1832 paragraph that is broken between more than one string can be composed
1833 by calling gl_display_text() for each successive portion of the
1834 paragraph. Note that literal newline characters are necessary at the
|
462 string by embedded newline characters. If app_file != NULL then it is
463 interpreted as the full pathname of an application-specific
464 configuration file. If user_file != NULL then it is interpreted as the
465 full path name of a user-specific configuration file, such as
466 ~/.teclarc. For example, in the call
467
468 gl_configure_getline(gl, "edit-mode vi \n nobeep",
469 "/usr/share/myapp/teclarc", "~/.teclarc");
470
471
472
473 The app_string argument causes the calling application to start in
474 vi(1) edit-mode, instead of the default emacs mode, and turns off the
475 use of the terminal bell by the library. It then attempts to read
476 system-wide configuration commands from an optional file called
477 /usr/share/myapp/teclarc, then finally reads user-specific
478 configuration commands from an optional .teclarc file in the user's
479 home directory. Note that the arguments are listed in ascending order
480 of priority, with the contents of app_string being potentially over
481 riden by commands in app_file, and commands in app_file potentially
482 being overridden by commands in user_file.
483
484
485 You can call this function as many times as needed, the results being
486 cumulative, but note that copies of any file names specified with the
487 app_file and user_file arguments are recorded internally for subsequent
488 use by the read-init-files key-binding function, so if you plan to call
489 this function multiple times, be sure that the last call specifies the
490 filenames that you want re-read when the user requests that the
491 configuration files be re-read.
492
493
494 Individual key sequences can also be bound and unbound using the
495 gl_bind_keyseq() function. The origin argument specifies the priority
496 of the binding, according to whom it is being established for, and must
497 be one of the following two values.
498
499 GL_USER_KEY
500 The user requested this key-binding.
501
502
1794 when gl_get_line() is next called.
1795
1796 Displaying Text Dynamically
1797 Between calls to gl_get_line(), the gl_display_text() function provides
1798 a convenient way to display paragraphs of text, left-justified and
1799 split over one or more terminal lines according to the constraints of
1800 the current width of the terminal. Examples of the use of this function
1801 may be found in the demo programs, where it is used to display
1802 introductions. In those examples the advanced use of optional
1803 prefixes, suffixes and filled lines to draw a box around the text is
1804 also illustrated.
1805
1806
1807 If gl is not currently connected to a terminal, for example if the
1808 output of a program that uses gl_get_line() is being piped to another
1809 program or redirected to a file, then the value of the def_width
1810 parameter is used as the terminal width.
1811
1812
1813 The indentation argument specifies the number of characters to use to
1814 indent each line of output. The fill_char argument specifies the
1815 character that will be used to perform this indentation.
1816
1817
1818 The prefix argument can be either NULL or a string to place at the
1819 beginning of each new line (after any indentation). Similarly, the
1820 suffix argument can be either NULL or a string to place at the end of
1821 each line. The suffix is placed flush against the right edge of the
1822 terminal, and any space between its first character and the last word
1823 on that line is filled with the character specified by the fill_char
1824 argument. Normally the fill-character is a space.
1825
1826
1827 The start argument tells gl_display_text() how many characters have
1828 already been written to the current terminal line, and thus tells it
1829 the starting column index of the cursor. Since the return value of
1830 gl_display_text() is the ending column index of the cursor, by passing
1831 the return value of one call to the start argument of the next call, a
1832 paragraph that is broken between more than one string can be composed
1833 by calling gl_display_text() for each successive portion of the
1834 paragraph. Note that literal newline characters are necessary at the
|