resizeterm 3x

resizeterm(3x)                                           resizeterm(3x)




NAME 名前

       is_term_resized,  resize_term,  resizeterm  -  change  the
       curses terminal size
        - curses 端末サイズの変更


SYNOPSIS 書式

       #include <curses.h>

       bool is_term_resized(int lines, int columns);
       int resize_term(int lines, int columns);
       int resizeterm(int lines, int columns);


DESCRIPTION 説明

       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).
        これは curses ライブラリの拡張です。
        主に X ウインドウ端末 (例えば xterm ) 上で実行される
       プログラム用に、ウインドウのサイズを変更するための 
       ncurses のデータへのフックを提供します。


resizeterm

       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.
        resizeterm 関数は、標準ウインドウと現在ウインドウを
       指定の寸法に変更し、 ncurses ライブラリが使う、例えば
       変数 LINESCOLS のようにウインドウの寸法を記録している
       他の保有データを調整します。


resize_term

       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
       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-
       tional interaction with the application.
        大部分の作業は内部関数 resize_term が行います。
        外側の関数 resizeterm は SIGWINCH ハンドラのための
       記録作業を追加します。
        ウインドウのサイズを変更するとき、 resize_term は
       拡張した領域を空白で埋めます。
        呼び出し側のアプリケーションはこれらの領域を適切なデータで
       満たしてください。
        resize_term 関数はすべてのウインドウのサイズを
       変更しようとします。
        しかし、パッドの呼出規約のため、アプリケーションとの追加的な
       相互作用なしにこれらのサイズを変更することはできません。


is_term_resized

       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.
        resize_term 関数がウインドウ構造(体)を変更するかどうかを
       調べるために、補助関数 is_term_resized が提供されます。
        ウインドウが変更されるなら TRUE を、そうでなければ 
       FALSE を返します。


RETURN VALUE 戻り値

       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.
        特記がない限り、これらの関数は失敗のとき整数 ERR を、
       成功のとき OK を返します。
        これらの関数は、寸法がゼロまたはそれ未満のとき、または
       ウインドウのメモリを(再)割り当てする間にエラーが発生したときに
       失敗します。


NOTES 注意

       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-
       loc may have been interrupted, since it uses  those  func-
       tions.
        これらの関数をシグナルハンドラのサポートに 
       (つまり SIGWINCH のために) 使おうとするときは、 
       malloc または realloc が割り込まれるかもしれない状況で
       呼ばないように注意を払う必要があります。
       それらの関数を使うからです。

       If  ncurses  is configured to supply its own SIGWINCH han-
       dler,
        ncurses が自身の SIGWINCH ハンドラを提供するように
       構成されている場合には、

       o   on receipt of a SIGWINCH, the handler sets a flag
       o   SIGWINCH を受け取ると、ハンドラはフラグをセットし、

       o   which is tested in wgetch and doupdate,
       o   フラグは wgetchdoupdate でテストされ、

       o   in turn, calling the resizeterm function,
       o   次に、 resizeterm 関数を呼び出し、

       o   which ungetch's a KEY_RESIZE which will be read on the
           next call to wgetch.
       o   それは KEY_RESIZEungetch し、次の 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.
            KEY_RESIZE は画面サイズが変更され、パッドのように
           自動的に再描画されない特別な部分を描画し直さなくては
           ならないことをアプリケーションに警告します。

           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.
            シグナルハンドラから resizeterm または resize_term を
           直接呼び出すのは安全ではありません。
            安全に ncurses のデータ構造のサイズを変更する方法を
           与えるために、この間接的な方法が使われます。

       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.
        環境変数 LINES または COLUMNS が設定されている場合、
       ライブラリがオペレーティング・システムから得たウインドウの
       サイズを使わないようにします。
        したがって、 SIGWINCH を受け取っても、画面サイズの変更は
       記録されないことがあります。


PORTABILITY 移植性

       It is possible to resize the screen with SVr4 curses, by
        SVr4 curses では次の方法で画面サイズの変更ができます。

       o   exiting curses with endwin(3x) and
       o   endwin(3x) で curses を終了し

       o   resuming using refresh(3x).
       o   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).
        この ncurses 拡張機能は 1995年の中頃に導入されました。
        NetBSD curses (2001年) と PDCurses (2003年) にも
       採用されました。


SEE ALSO 関連項目

       curs_getch(3x), curs_variables(3x), wresize(3x).


AUTHOR 作者

       Thomas Dickey (from an equivalent function written in 1988
       for BSD curses).
        Thomas Dickey (1988年に BSD curses 用に書かれた
       同等の関数から)


                                                         resizeterm(3x)