summaryrefslogtreecommitdiff
path: root/lib/libcurses/resizeterm.3
blob: d39f4b9caf540e272aaf8e3cd1b4b46e210261dc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
.\" $OpenBSD: resizeterm.3,v 1.1 1997/12/14 23:15:48 millert Exp $
.\"*****************************************************************************
.\" Copyright 1996,1997 by Thomas E. Dickey <dickey@clark.net>                 *
.\" All Rights Reserved.                                                       *
.\"                                                                            *
.\" Permission to use, copy, modify, and distribute this software and its      *
.\" documentation for any purpose and without fee is hereby granted, provided  *
.\" that the above copyright notice appear in all copies and that both that    *
.\" copyright notice and this permission notice appear in supporting           *
.\" documentation, and that the name of the above listed copyright holder(s)   *
.\" not be used in advertising or publicity pertaining to distribution of the  *
.\" software without specific, written prior permission. THE ABOVE LISTED      *
.\" COPYRIGHT HOLDER(S) DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,  *
.\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO     *
.\" EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY         *
.\" SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER       *
.\" RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF       *
.\" CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN        *
.\" CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.                   *
.\"*****************************************************************************
.\" Id: resizeterm.3x,v 1.5 1997/12/06 22:06:00 tom Exp $
.TH resizeterm 3 ""
.
.SH NAME
\fBresizeterm\fR - change the curses terminal size
.
.SH SYNOPSIS
\fB#include <curses.h>\fR

\fBint resizeterm(int lines, int columns);\fR
.
.SH DESCRIPTION
This is an extension to the curses library.
It provides callers with a hook into the \fBcurses\fR data to resize windows,
primarily for use by programs running in an X Window terminal (e.g., xterm).
The function \fBresizeterm\fR resizes the standard and current windows
to the specified dimensions, and adjusts other bookkeeping data used by
the \fBcurses\fR library that record the window dimensions.

When resizing the windows, the function blank-fills the areas that are
extended. The calling application should fill in these areas with
appropriate data.

The 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.
.
.SH RETURN VALUE
The function returns the integer \fBERR\fR upon failure and \fBOK\fR on success.
It will fail if either of the dimensions less than or equal to zero,
or if an error occurs while (re)allocating memory for the windows. 
.
.SH NOTES
While this function is intended to be used to support a signal handler
(i.e., for SIGWINCH), care should be taken to avoid invoking it in a
context where \fBmalloc\fR or \fBrealloc\fR may have been interrupted,
since it uses those functions.
.
.PP
If curses is configured to supply its own SIGWINCH handler,
the \fBresizeterm\fR function ungetch's a \fBKEY_RESIZE\fR which
will be read on the next call to \fBgetch\fR.
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.
.
.SH SEE ALSO
\fBwresize\fR(3).
.
.SH AUTHOR
Thomas Dickey (from an equivalent function written in 1988 for BSD curses).
.\"#
.\"# The following sets edit modes for GNU EMACS
.\"# Local Variables:
.\"# mode:nroff
.\"# fill-column:79
.\"# End: