X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=doc%2Fhtml%2Fman%2Fresizeterm.3x.html;fp=doc%2Fhtml%2Fman%2Fresizeterm.3x.html;h=ebf6c55ccfd626380e62edcd4d469d83cc33c4c6;hp=d190848e7f08d1ce2b3ebce4ec9ccde604836c89;hb=87154b424ea0f67c2965d00e861ddfb134082d94;hpb=16fbf3f4f7d96b6ee6bf9159b22f26e05962aa3d diff --git a/doc/html/man/resizeterm.3x.html b/doc/html/man/resizeterm.3x.html index d190848e..ebf6c55c 100644 --- a/doc/html/man/resizeterm.3x.html +++ b/doc/html/man/resizeterm.3x.html @@ -28,7 +28,7 @@ * authorization. * **************************************************************************** * Author: Thomas E. Dickey 1996-on - * @Id: resizeterm.3x,v 1.31 2022/02/12 20:07:29 tom Exp @ + * @Id: resizeterm.3x,v 1.32 2022/02/20 00:32:18 tom Exp @ --> @@ -63,28 +63,60 @@
This is an extension to the curses library. It provides callers with a hook into the ncurses data to resize windows, primarily for use by - programs running in an X Window terminal (e.g., xterm). + programs running in an X Window terminal (e.g., xterm) when the + terminal's screen size is changed by the user: + o Curses windows cannot extend outside the screen. If the terminal + is shrunk, curses windows must be shrunk to fit. + + o If the terminal is stretched, rows and/or columns can be added to + existing windows. The added cells should match the current + attributes of the windows. + + If the calling program has not set up a handler for SIGWINCH when it + initializes ncurses (e.g., using initscr(3x) or newterm(3x)), then + ncurses sets a handler for SIGWINCH which notifies the library when a + window-size event has occurred. The library checks for this + notification + + o when reading input data, + + o when implicitly resuming program mode (e.g., between endwin(3x) and + wrefresh(3x)), and + + o when explicitly resuming program mode in restartterm(3x). + + When the library has found that the terminal's window-size has changed, + it calls resizeterm to update its data structures. + + An application which establishes its own SIGWINCH handler can call + resizeterm, but in that case, the library will not see SIGWINCH, and + proper layout will rely upon the application. + + +
- The function resizeterm resizes the standard and current windows to the - specified dimensions, and adjusts other bookkeeping data used by the - ncurses library that record the window dimensions such as the LINES and - COLS variables. + The function resizeterm resizes the standard and current windows (i.e., + stdscr and curscr) to the specified dimensions, and adjusts other + bookkeeping data used by the ncurses library that record the window + dimensions such as the LINES and COLS variables.
- Most of the work is done by the inner function resize_term. The outer - function resizeterm adds bookkeeping for the SIGWINCH handler, as well - as repainting the soft-key area (see slk_touch(3x)). + Most of the work for resizeterm is done by the inner function + resize_term. The outer function resizeterm adds bookkeeping for the + SIGWINCH handler, as well as repainting the soft-key area (see + slk_touch(3x)). + + The resize_term function attempts to resize all windows. This helps + with simple applications. However: - When resizing the windows, resize_term blank-fills the areas that are - extended. The calling application should fill in these areas with - appropriate data. + o It is not possible to automatically resize pads. - The resize_term function attempts to resize all windows. However, due - to the calling convention of pads, it is not possible to resize these - without additional interaction with the application. + o Applications which have complicated layouts should check for + KEY_RESIZE returned from wgetch, and adjust their layout, e.g., + using wresize and mvwin, or by recreating the windows. When resizing windows, resize_term recursively adjusts subwindows, keeping them within the updated parent window's limits. If a top-level @@ -116,7 +148,7 @@ o on receipt of a SIGWINCH, the handler sets a flag - o which is tested in wgetch(3x) and doupdate, + o which is tested in wgetch(3x), doupdate(3x) and restartterm(3x), o in turn, calling the resizeterm function, @@ -166,7 +198,8 @@