ncurses 6.0 - patch 20170114
[ncurses.git] / doc / html / man / resizeterm.3x.html
index 9ad4fe776d148840027a4649fbd0c220b29f1d41..ca51d4a3e9f92ad0ff3591b3e89d337df052f49b 100644 (file)
@@ -1,7 +1,6 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
 <!-- 
   ****************************************************************************
 <!-- 
   ****************************************************************************
-  * Copyright (c) 1998,2002 Free Software Foundation, Inc.                   *
+  * Copyright (c) 1998-2015,2017 Free Software Foundation, Inc.              *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * Author: Thomas E. Dickey &lt;dickey@clark.net&gt; 1996,1997,2002
-  * @Id: resizeterm.3x,v 1.9 2002/02/16 22:32:24 tom Exp @
+  * Author: Thomas E. Dickey 1996-on
+  * @Id: resizeterm.3x,v 1.22 2017/01/07 19:25:15 tom Exp @
 -->
 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <HTML>
 <HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
 <TITLE>resizeterm 3x</TITLE>
 <link rev=made href="mailto:bug-ncurses@gnu.org">
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 </HEAD>
 <BODY>
 <TITLE>resizeterm 3x</TITLE>
 <link rev=made href="mailto:bug-ncurses@gnu.org">
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 </HEAD>
 <BODY>
-<H1>resizeterm 3x</H1>
-<HR>
+<H1 class="no-header">resizeterm 3x</H1>
 <PRE>
 <PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
+<STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>                                           <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>
 
 
-</PRE>
-<H2>NAME</H2><PRE>
+
+
+
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
        <STRONG>is_term_resized</STRONG>,  <STRONG>resize_term</STRONG>,  <STRONG>resizeterm</STRONG>  -  change  the
        curses terminal size
 
 
        <STRONG>is_term_resized</STRONG>,  <STRONG>resize_term</STRONG>,  <STRONG>resizeterm</STRONG>  -  change  the
        curses terminal size
 
 
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
        <STRONG>bool</STRONG> <STRONG>is_term_resized(int</STRONG> <STRONG>lines,</STRONG> <STRONG>int</STRONG> <STRONG>columns);</STRONG>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
        <STRONG>bool</STRONG> <STRONG>is_term_resized(int</STRONG> <STRONG>lines,</STRONG> <STRONG>int</STRONG> <STRONG>columns);</STRONG>
        <STRONG>int</STRONG> <STRONG>resizeterm(int</STRONG> <STRONG>lines,</STRONG> <STRONG>int</STRONG> <STRONG>columns);</STRONG>
 
 
        <STRONG>int</STRONG> <STRONG>resizeterm(int</STRONG> <STRONG>lines,</STRONG> <STRONG>int</STRONG> <STRONG>columns);</STRONG>
 
 
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
        This is an extension to the curses library.   It  provides
        callers  with  a hook into the <STRONG>ncurses</STRONG> data to resize win-
        dows, primarily for use by programs running in an X Window
        This is an extension to the curses library.   It  provides
        callers  with  a hook into the <STRONG>ncurses</STRONG> data to resize win-
        dows, primarily for use by programs running in an X Window
-       terminal  (e.g.,  xterm).  The function <STRONG>resizeterm</STRONG> resizes
-       the standard and current windows to the  specified  dimen-
-       sions,  and  adjusts  other  bookkeeping  data used by the
-       <STRONG>ncurses</STRONG> library that record the window dimensions.
+       terminal (e.g., xterm).
+
 
 
-       Most  of  the  work  is  done  by   the   inner   function
+</PRE><H3><a name="h3-resizeterm">resizeterm</a></H3><PRE>
+       The  function  <STRONG>resizeterm</STRONG> resizes the standard and current
+       windows to the specified  dimensions,  and  adjusts  other
+       bookkeeping  data  used by the <STRONG>ncurses</STRONG> library that record
+       the window dimensions such as the  <STRONG>LINES</STRONG>  and  <STRONG>COLS</STRONG>  vari-
+       ables.
+
+
+</PRE><H3><a name="h3-resize_term">resize_term</a></H3><PRE>
+       Most   of   the   work  is  done  by  the  inner  function
        <STRONG>resize_term</STRONG>.  The outer function <STRONG>resizeterm</STRONG> adds bookkeep-
        <STRONG>resize_term</STRONG>.  The outer function <STRONG>resizeterm</STRONG> adds bookkeep-
-       ing for the SIGWINCH handler.  When resizing the  windows,
-       <STRONG>resize_term</STRONG>  blank-fills the areas that are extended.  The
+       ing  for the SIGWINCH handler.  When resizing the windows,
+       <STRONG>resize_term</STRONG> blank-fills the areas that are extended.   The
        calling application should fill in these areas with appro-
        calling application should fill in these areas with appro-
-       priate  data.  The <STRONG>resize_term</STRONG> 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 <STRONG>resize_term</STRONG> 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.
 
        tional interaction with the application.
 
-       A support function <STRONG>is_term_resized</STRONG>  is  provided  so  that
-       applications  can  check if the <STRONG>resize_term</STRONG> function would
-       modify the window structures.  It returns TRUE if the win-
-       dows would be modified, and FALSE otherwise.
 
 
+</PRE><H3><a name="h3-is_term_resized">is_term_resized</a></H3><PRE>
+       A  support  function  <STRONG>is_term_resized</STRONG>  is provided so that
+       applications can check if the <STRONG>resize_term</STRONG>  function  would
+       modify the window structures.  It returns <STRONG>TRUE</STRONG> if the win-
+       dows would be modified, and <STRONG>FALSE</STRONG> otherwise.
 
 
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
-       Except  as  notes,  these  function return the integer <STRONG>ERR</STRONG>
-       upon failure and <STRONG>OK</STRONG> on success.  They will fail if  either
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       Except as noted, these functions return  the  integer  <STRONG>ERR</STRONG>
+       upon  failure and <STRONG>OK</STRONG> on success.  They will fail if either
        of the dimensions are less than or equal to zero, or if an
        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.
 
 
 
 
-</PRE>
-<H2>NOTES</H2><PRE>
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
        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 <STRONG>malloc</STRONG> or <STRONG>real-</STRONG>
        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 <STRONG>malloc</STRONG> or <STRONG>real-</STRONG>
        tions.
 
        If  ncurses  is configured to supply its own SIGWINCH han-
        tions.
 
        If  ncurses  is configured to supply its own SIGWINCH han-
-       dler, the <STRONG>resizeterm</STRONG> function ungetch's a <STRONG>KEY_RESIZE</STRONG> which
-       will  be  read on the next call to <STRONG>getch</STRONG>.  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.
-
-
-</PRE>
-<H2>SEE ALSO</H2><PRE>
-       <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>.
-
-
-</PRE>
-<H2>AUTHOR</H2><PRE>
-       Thomas Dickey (from an equivalent function written in 1988
-       for BSD curses).
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+       dler,
 
 
+       <STRONG>o</STRONG>   on receipt of a SIGWINCH, the handler sets a flag
 
 
+       <STRONG>o</STRONG>   which is tested in <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> and <STRONG>doupdate</STRONG>,
 
 
+       <STRONG>o</STRONG>   in turn, calling the <STRONG>resizeterm</STRONG> function,
 
 
+       <STRONG>o</STRONG>   which <STRONG>ungetch</STRONG>'s a <STRONG>KEY_RESIZE</STRONG> which will be read on the
+           next call to <STRONG>wgetch</STRONG>.
 
 
+           The  <STRONG>KEY_RESIZE</STRONG>  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 <STRONG>resizeterm</STRONG> or <STRONG>resize_term</STRONG> 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  <STRONG>LINES</STRONG> or <STRONG>COLUMNS</STRONG> 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.
 
 
 
 
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       It is possible to resize the screen with SVr4 curses, by
 
 
+       <STRONG>o</STRONG>   exiting curses with <STRONG><A HREF="curs_initscr.3x.html">endwin(3x)</A></STRONG> and
 
 
+       <STRONG>o</STRONG>   resuming using <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG>.
 
 
+       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).
 
 
 
 
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>.
 
 
 
 
+</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
+       Thomas Dickey (from an equivalent function written in 1988
+       for BSD curses).
 
 
 
 
 
 
+                                                         <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>
 </PRE>
 </PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-resizeterm">resizeterm</a></li>
+<li><a href="#h3-resize_term">resize_term</a></li>
+<li><a href="#h3-is_term_resized">is_term_resized</a></li>
+</ul>
+</li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-AUTHOR">AUTHOR</a></li>
+</ul>
+</div>
 </BODY>
 </HTML>
 </BODY>
 </HTML>