<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
  <!ENTITY % general-entities SYSTEM "../../general.ent">
  %general-entities;
]>

<sect1 id="ch-system-ncurses" role="wrap">
  <?dbhtml filename="ncurses.html"?>

  <title>Ncurses-&ncurses-version;</title>

  <indexterm zone="ch-system-ncurses">
    <primary sortas="a-Ncurses">Ncurses</primary>
  </indexterm>

  <sect2 role="package">
    <title/>

    <para>The Ncurses package contains libraries for terminal-independent
    handling of character screens.</para>

  </sect2>

  <sect2 role="installation">
    <title>Installation of Ncurses</title>

    <para os="a">Prepare Ncurses for compilation:</para>

<screen os="b"><userinput>./configure --prefix=/usr --libdir=/lib \
    --with-shared --without-debug</userinput></screen>

    <para os="c">Compile the package:</para>

<screen os="d"><userinput>make</userinput></screen>

    <para os="e">This package does not come with a test suite.</para>

    <para os="f">Install the package:</para>

<screen os="g"><userinput>make install</userinput></screen>

    <para os="h">Move the Ncurses static libraries to the proper location:</para>

<screen os="i"><userinput>mv -v /lib/lib{panel,menu,form,ncurses,ncurses++,curses}.a /usr/lib</userinput></screen>

    <para os="j">Create symlinks in <filename class="directory">/usr/lib:</filename></para>

<screen os="k"><userinput>rm -v /lib/lib{ncurses,menu,panel,form,curses}.so
ln -svf ../../lib/libncurses.so.5 /usr/lib/libcurses.so
ln -svf ../../lib/libncurses.so.5 /usr/lib/libncurses.so
ln -svf ../../lib/libmenu.so.5 /usr/lib/libmenu.so
ln -svf ../../lib/libpanel.so.5 /usr/lib/libpanel.so
ln -svf ../../lib/libform.so.5 /usr/lib/libform.so</userinput></screen>

    <para os="l">Give the Ncurses libraries execute permissions:</para>

<screen os="m"><userinput>chmod -v 755 /lib/lib{panel,menu,form,ncurses}.so.&ncurses-version;</userinput></screen>

  </sect2>

  <sect2 id="contents-ncurses" role="content">
    <title>Contents of Ncurses</title>

    <segmentedlist>
      <segtitle>Installed programs</segtitle>
      <segtitle>Installed libraries</segtitle>

      <seglistitem>
        <seg>captoinfo (link to tic), clear, infocmp, infotocap (link to tic),
        reset (link to tset), tack, tic, toe, tput, and tset</seg>
        <seg>libcurses.[a,so] (link to libncurses.[a,so]), libform.[a,so],
        libmenu.[a,so], libncurses++.a, libncurses.[a,so], and
        libpanel.[a,so]</seg>
      </seglistitem>
    </segmentedlist>

    <variablelist>
      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
      <?dbfo list-presentation="list"?>
      <?dbhtml list-presentation="table"?>

      <varlistentry id="captoinfo">
        <term><command>captoinfo</command></term>
        <listitem>
          <para>Converts a termcap description into a terminfo description</para>
          <indexterm zone="ch-system-ncurses captoinfo">
            <primary sortas="b-captoinfo">captoinfo</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="clear">
        <term><command>clear</command></term>
        <listitem>
          <para>Clears the screen, if possible</para>
          <indexterm zone="ch-system-ncurses clear">
            <primary sortas="b-clear">clear</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="infocmp">
        <term><command>infocmp</command></term>
        <listitem>
          <para>Compares or prints out terminfo descriptions</para>
          <indexterm zone="ch-system-ncurses infocmp">
            <primary sortas="b-infocmp">infocmp</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="infotocap">
        <term><command>infotocap</command></term>
        <listitem>
          <para>Converts a terminfo description into a termcap description</para>
          <indexterm zone="ch-system-ncurses infotocap">
            <primary sortas="b-infotocap">infotocap</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="reset">
        <term><command>reset</command></term>
        <listitem>
          <para>Reinitializes a terminal to its default values</para>
          <indexterm zone="ch-system-ncurses reset">
            <primary sortas="b-reset">reset</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="tack">
        <term><command>tack</command></term>
        <listitem>
          <para>The terminfo action checker; it is mainly used to test the
          accuracy of an entry in the terminfo database</para>
          <indexterm zone="ch-system-ncurses tack">
            <primary sortas="b-tack">tack</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="tic">
        <term><command>tic</command></term>
        <listitem>
          <para>The terminfo entry-description compiler that translates a
          terminfo file from source format into the binary format needed for the
          ncurses library routines. A terminfo file contains information on the
          capabilities of a certain terminal</para>
          <indexterm zone="ch-system-ncurses tic">
            <primary sortas="b-tic">tic</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="toe">
        <term><command>toe</command></term>
        <listitem>
          <para>Lists all available terminal types, giving the primary name and
          description for each</para>
          <indexterm zone="ch-system-ncurses toe">
            <primary sortas="b-toe">toe</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="tput">
        <term><command>tput</command></term>
        <listitem>
          <para>Makes the values of terminal-dependent capabilities available to
          the shell; it can also be used to reset or initialize a terminal or
          report its long name</para>
          <indexterm zone="ch-system-ncurses tput">
            <primary sortas="b-tput">tput</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="tset">
        <term><command>tset</command></term>
        <listitem>
          <para>Can be used to initialize terminals</para>
          <indexterm zone="ch-system-ncurses tset">
            <primary sortas="b-tset">tset</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="libcurses">
        <term><filename class="libraryfile">libcurses</filename></term>
        <listitem>
          <para>A link to <filename>libncurses</filename></para>
          <indexterm zone="ch-system-ncurses libcurses">
            <primary sortas="c-libcurses">libcurses</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="libncurses">
        <term><filename class="libraryfile">libncurses</filename></term>
        <listitem>
          <para>Contains functions to display text in many complex ways on a
          terminal screen; a good example of the use of these functions is the
          menu displayed during the kernel's
          <command>make menuconfig</command></para>
          <indexterm zone="ch-system-ncurses libncurses">
            <primary sortas="c-libncurses">libncurses</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="libform">
        <term><filename class="libraryfile">libform</filename></term>
        <listitem>
          <para>Contains functions to implement forms</para>
          <indexterm zone="ch-system-ncurses libform">
            <primary sortas="c-libform">libform</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="libmenu">
        <term><filename class="libraryfile">libmenu</filename></term>
        <listitem>
          <para>Contains functions to implement menus</para>
          <indexterm zone="ch-system-ncurses libmenu">
            <primary sortas="c-libmenu">libmenu</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="libpanel">
        <term><filename class="libraryfile">libpanel</filename></term>
        <listitem>
          <para>Contains functions to implement panels</para>
          <indexterm zone="ch-system-ncurses libpanel">
            <primary sortas="c-libpanel">libpanel</primary>
          </indexterm>
        </listitem>
      </varlistentry>

    </variablelist>

  </sect2>

</sect1>
