aboutsummaryrefslogtreecommitdiffstats
path: root/chapter06/ncurses.xml
blob: 686ea1a0c02b661a0e9c45631e8cdc21de02b334 (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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
  <!ENTITY % general-entities SYSTEM "../general.ent">
  %general-entities;
]>
<sect1 id="ch-system-ncurses" xreflabel="Ncurses" role="wrap">
<title>Ncurses-&ncurses-version;</title>
<?dbhtml filename="ncurses.html"?>

<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>

<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0.6 SBU</seg><seg>27 MB</seg></seglistitem>
</segmentedlist>

<segmentedlist>
<segtitle>Ncurses installation depends on</segtitle>
<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
Gawk, GCC, Glibc, Grep, Make, Sed</seg></seglistitem>
</segmentedlist>
</sect2>

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

<para>Prepare Ncurses for compilation:</para>

<screen><userinput>./configure --prefix=/usr --with-shared --without-debug</userinput></screen>

<para>Compile the package:</para>

<screen><userinput>make</userinput></screen>

<para>Install the package:</para>

<screen><userinput>make install</userinput></screen>

<para>Give the Ncurses libraries execute permissions:</para>

<screen><userinput>chmod 755 /usr/lib/*.&ncurses-version;</userinput></screen>

<para>Now fix a library that shouldn't be executable:</para>

<screen><userinput>chmod 644 /usr/lib/libncurses++.a</userinput></screen>

<para>Move the libraries to the <filename>/lib</filename> directory,
where they're expected to reside:</para>

<screen><userinput>mv /usr/lib/libncurses.so.5* /lib</userinput></screen>

<para>Because the libraries have been moved, a few symlinks are pointing to
non-existent files. Recreate those symlinks:</para>

<screen><userinput>ln -sf ../../lib/libncurses.so.5 /usr/lib/libncurses.so
ln -sf libncurses.so /usr/lib/libcurses.so</userinput></screen>
</sect2>


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

<para><emphasis>Installed programs</emphasis>: captoinfo (link to tic), clear,
infocmp, infotocap (link to tic), reset (link to tset), tack, tic, toe, tput
and tset</para>

<para><emphasis>Installed libraries</emphasis>: libcurses.[a,so] (link to
libncurses.[a,so]), libform.[a,so], libmenu.[a,so], libncurses++.a,
libncurses.[a,so], libpanel.[a,so]</para>

</sect2>

<sect2><title>Short descriptions</title>

<indexterm zone="ch-system-ncurses captoinfo"><primary sortas="b-captoinfo">captoinfo</primary></indexterm>
<para id="captoinfo"><command>captoinfo</command> converts a termcap description into a
terminfo description.</para>

<indexterm zone="ch-system-ncurses clear"><primary sortas="b-clear">clear</primary></indexterm>
<para id="clear"><command>clear</command> clears the screen, if this is possible.</para>

<indexterm zone="ch-system-ncurses infocmp"><primary sortas="b-infocmp">infocmp</primary></indexterm>
<para id="infocmp"><command>infocmp</command> compares or prints out terminfo
descriptions.</para>

<indexterm zone="ch-system-ncurses infotocap"><primary sortas="b-infotocap">infotocap</primary></indexterm>
<para id="infotocap"><command>infotocap</command> converts a terminfo description into
a termcap description.</para>

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

<indexterm zone="ch-system-ncurses tack"><primary sortas="b-tack">tack</primary></indexterm>
<para id="tack"><command>tack</command> is the terminfo action checker. It is mainly
used to test the correctness of an entry in the terminfo database.</para>

<indexterm zone="ch-system-ncurses tic"><primary sortas="b-tic">tic</primary></indexterm>
<para id="tic"><command>tic</command> is the terminfo entry-description compiler.
It 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 toe"><primary sortas="b-toe">toe</primary></indexterm>
<para id="toe"><command>toe</command> lists all available terminal types, for each
giving its primary name and its description.</para>

<indexterm zone="ch-system-ncurses tput"><primary sortas="b-tput">tput</primary></indexterm>
<para id="tput"><command>tput</command> 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 tset"><primary sortas="b-tset">tset</primary></indexterm>
<para id="tset"><command>tset</command> can be used to initialize terminals.</para>

<indexterm zone="ch-system-ncurses libncurses"><primary sortas="c-libncurses*">libncurses*</primary></indexterm>
<para id="libncurses"><command>libncurses*</command> contains functions to display text in
many complicated ways on a terminal screen. A good example of the use of these
functions is the menu displayed during the kernel's make menuconfig.</para>

<indexterm zone="ch-system-ncurses libform"><primary sortas="c-libform*">libform*</primary></indexterm>
<para id="libform"><command>libform*</command> contains functions to implement forms.</para>

<indexterm zone="ch-system-ncurses libmenu"><primary sortas="c-libmenu*">libmenu*</primary></indexterm>
<para id="libmenu"><command>libmenu*</command> contains functions to implement menus.</para>

<indexterm zone="ch-system-ncurses libpanel"><primary sortas="c-libpanel*">libpanel*</primary></indexterm>
<para id="libpanel"><command>libpanel*</command> contains functions to implement panels.</para>

</sect2>



</sect1>