
How to compile the library
--------------------------
* Type 'make' in the main directory to build the library.  This creates both
  the static and dynamic libraries.  Libraries are placed in directory 'lib'
  with source files.

* Type 'make tvdemo' to compile the first demo program.
* Type 'make tvexamples' to compile many little examples.
  Note: both commands link statically the resulting objects with the library
  in directory 'lib'.

* Type 'make world' to execute all the above steps.

* Type 'make install' to install the library in '/usr/include' and '/usr/lib'.
* Type 'make uninstall' to remove the library.
  Note: this commands need root privileges and should be followed by
  'ldconfig' to update the linker cache.

* Type 'make clean' in the main directory to remove objects, backup files and
  executables in the main directory and in all the subdirectories.  Typing
  'make clean' in any subdirectory will clean it only.

* Type 'make dist' to build a distribution package.

Display
-------
Every program can run in two ways:

* Console mode: this is the fast method and should be automatically enabled
  when you start the program from the system console.  Its output goes
  directly to the display via the /dev/vcs system.

* Remote mode: is enabled when you run the program from a terminal or under
  telnet.  His output goes to the display via standard out.  This method is
  very slow compared to the former but useful when you can't run the program
  from the system console or when you run it under X window.

  In this mode colors aren't currently supported and a monochrome palette is
  used.  Bold and inverse attributes are also used to mark the text.

In both modes SIGWINCH signal is hooked so we can resize the screen at
runtime (useful under X window).

Keyboard
--------
In the old 0.1 version of the library I used my code to read keys.  This
code sometimes didn't work properly (expecially under X window).  Now I used
(n)curses functions and the keys are almost understood correctly.

When the program runs on the console the library can detect the state of Alt,
Ctrl and Shift keys, so combinations like kbCtrlLeft are possible.

This is impossible when the program doesn't run on the system console.  Even
simple combinations like Alt-X aren't generally possible.  To override this
problem, you can emulate Alt-letter keys by pressing Esc followed by the
required letter key within 0.4 seconds: for example to generate Alt-X press
Esc X.  To generate Esc press it once and wait 0.4 seconds or press it twice.

Mouse
-----
The library requires Gpm.  I tested it with versions 1.06 and 1.10.  The
package is available at:

iride.unipv.it:/pub/gpm/gpm-1.10.tar.gz
sunsite.unc.edu:/pub/Linux/system/Daemons/gpm-1.10.tar.gz

Credits
-------
The code in the file asm.cc was taken from 'Portable 32 Bit TurboVision'.

maintainer : Joern Sierwald Sierwald@tu-harburg.d400.de
ftp        : ftp.uni-stuttgart.de,
             /pub/systems/os2/programming/support/tvpatch.zip

How to contact the author (me)
------------------------------
email:	ssigala@globalnet.it
smail:	Sergio Sigala
	Viale De Gasperi, 8
	25047 Boario (BS)
	ITALY

Known bugs and things to do
---------------------------
- Fix textview.cc, textview.h and TTerminal::prevLines() in asm.cc.

- Fix the message:
    TInputLine.cc: In method 'void * TInputLine::read(class ipstream &)':
    TInputLine.cc:466: warning: initializing non-const 'void *&' with 'TValidator *' will use a temporary
    tvision/tobjstrm.h:345: warning: in passing argument 2 of 'operator >>(ipstream &, void *&)'
    TInputLine.cc:466: warning: initializing non-const 'void *&' with 'TValidator *' will use a temporary
    tvision/tobjstrm.h:345: warning: in passing argument 2 of 'operator >>(ipstream &, void *&)'
