Introduction
============

The libt3widget library provides a C++ dialog toolkit. It provides objects for
dialogs and widgets like buttons, text fields, check boxes etc., to facilitate
easy construction of dialog based programs for Un*x terminals.

libt3widget is part of the Tilde Terminal Toolkit (T3)
[https://os.ghalkes.nl/t3/]

libt3widget is licensed under the GNU General Public License version 3. See the
file COPYING for details.


Documentation
=============

The full documentation for libt3widget can be generated using doxygen. The
documentation for the current version can be found at
https://os.ghalkes.nl/doc/libt3widget.


Prerequisites and installation
==============================

libt3widget requires GNU libtool and a C++11 compiler to be compiled.
Furthermore, it requires libpcre, libtranscript, libunistring, libt3key,
libt3window. Furthermore, a Pthread library is typically required for C++11
thread support.

libt3widget can optionally be built to include support for integration with the
X11 clipboard and primary selection. If this is desired, the XCB library needs
to be present when building. To allow using libt3widget without XCB present,
the integration is built as a separate module. This means libt3widget also
needs a facility for dynamically loading this module. If your system provides
the POSIX dlopen/dlsym/dlclose interface, this will be used. Otherwise, GNU
libtool's libltdl needs to be present.

There are two ways in which to compile libt3widget:

Using the configure script:
---

$ ./configure
or
$ ./configure --prefix=/usr
(see ./configure --help for more tuning options)
$ make all
$ make install
(assumes working install program)

Manually editing the Makefile to suit your computer:
---

$ cp Makefile.in Makefile

Edit the values for the different variables, using the comments in the
Makefile for guidance, to suit your environment.

$ make all
$ make install
(assumes working install program)

The Makefile in the distribution should work on all POSIX compatible make's.
It has been tested using both GNU make and BSD make.


Reporting bugs
==============

If you think you have found a bug, please check that you are using the latest
version of libt3widget [https://os.ghalkes.nl/t3/libt3widget.html]. When
reporting bugs, please include a minimal example that demonstrates the problem.


Author
======

Gertjan Halkes <libt3widget@ghalkes.nl>
