X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=doc%2Fhtml%2Fman%2Fresizeterm.3x.html;h=31965414b2a9ac550a42e391d5c329701980e125;hp=23b0845735c0db518f217cec7ef03036e7b58bff;hb=2a32bee362db64f5a06b2124976b928ac3faa578;hpb=55ccd2b959766810cf7db8d1c4462f338ce0afc8 diff --git a/doc/html/man/resizeterm.3x.html b/doc/html/man/resizeterm.3x.html index 23b08457..31965414 100644 --- a/doc/html/man/resizeterm.3x.html +++ b/doc/html/man/resizeterm.3x.html @@ -1,7 +1,6 @@ - +
+ +- resizeterm(3x) resizeterm(3x) --
+
is_term_resized, resize_term, resizeterm - change the curses terminal size --
+
#include <curses.h> bool is_term_resized(int lines, int columns); @@ -61,42 +59,48 @@ int resizeterm(int lines, int columns); --
+
This is an extension to the curses library. It provides callers with a hook into the ncurses data to resize win- dows, primarily for use by programs running in an X Window - terminal (e.g., xterm). The function resizeterm resizes - the standard and current windows to the specified dimen- - sions, and adjusts other bookkeeping data used by the - ncurses library that record the window dimensions. + terminal (e.g., xterm). + + +
+ 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 vari- + ables. + - Most of the work is done by the inner function +
+ Most of the work is done by the inner function resize_term. The outer function resizeterm adds bookkeep- - ing for the SIGWINCH handler. When resizing the windows, - resize_term blank-fills the areas that are extended. The + ing for the SIGWINCH handler. When resizing the windows, + resize_term blank-fills the areas that are extended. The calling application should fill in these areas with appro- - priate data. 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 addi- + priate data. 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 addi- tional interaction with the application. - A support function is_term_resized is provided so that - applications can check if the resize_term function would - modify the window structures. It returns TRUE if the win- - dows would be modified, and FALSE otherwise. +
+ A support function is_term_resized is provided so that + applications can check if the resize_term function would + modify the window structures. It returns TRUE if the win- + dows would be modified, and FALSE otherwise. --
- Except as notes, these function return the integer ERR - upon failure and OK on success. They will fail if either + +
+ Except as noted, these functions return the integer ERR + upon failure and OK on success. They will fail if either of the dimensions are less than or equal to zero, or if an - error occurs while (re)allocating memory for the windows. + error occurs while (re)allocating memory for the windows. --
+
While these functions are intended to be used to support a signal handler (i.e., for SIGWINCH), care should be taken to avoid invoking them in a context where malloc or real- @@ -104,27 +108,51 @@ tions. If ncurses is configured to supply its own SIGWINCH han- - dler, the resizeterm function ungetch's a KEY_RESIZE which - will be read on the next call to getch. This is used to - alert an application that the screen size has changed, and - that it should repaint special features such as pads that - cannot be done automatically. + dler, - If the environment variables LINES or COLUMNS are set, - this overrides the library's use of the window size - obtained from the operating system. Thus, even if a SIG- - WINCH is received, no screen size change may be recorded. - In that case, no KEY_RESIZE is queued for the next call to - getch; an ERR will be returned instead. + o on receipt of a SIGWINCH, the handler sets a flag + o which is tested in wgetch and doupdate, --
- wresize(3x). + o in turn, calling the resizeterm function, + o which ungetch's a KEY_RESIZE which will be read on the + next call to wgetch. --
+ The KEY_RESIZE alerts an application that the screen + size has changed, and that it should repaint special + features such as pads that cannot be done automati- + cally. + + Calling resizeterm or resize_term directly from a sig- + nal handler is unsafe. This indirect method is used + to provide a safe way to resize the ncurses data + structures. + + If the environment variables LINES or COLUMNS are set, + this overrides the library's use of the window size + obtained from the operating system. Thus, even if a SIG- + WINCH is received, no screen size change may be recorded. + + +
+ It is possible to resize the screen with SVr4 curses, by + + o exiting curses with endwin(3x) and + + o resuming using refresh(3x). + + Doing that clears the screen and is visually distracting. + + This extension of ncurses was introduced in mid-1995. It + was adopted in NetBSD curses (2001) and PDCurses (2003). + + +
+ curs_getch(3x), curs_variables(3x), wresize(3x). + + +
Thomas Dickey (from an equivalent function written in 1988 for BSD curses). @@ -132,10 +160,23 @@ resizeterm(3x)-