README.md
1GNT: The GLib Ncurses Toolkit
2=============================
3
4GNT is an ncurses toolkit for creating text-mode graphical user interfaces in a
5fast and easy way. It is based on [GLib](https://wiki.gnome.org/Projects/GLib)
6and [ncurses](https://www.gnu.org/software/ncurses/ncurses.html).
7
8It was born out of the console-based UI, **Finch**, for the [libpurple
9project](https://developer.pidgin.im/wiki/WhatIsLibpurple), but has now been
10split into its own independent repository.
11
12Building GNT
13------------
14
15To build, you will need [Meson](https://mesonbuild.com/),
16[GLib](https://wiki.gnome.org/Projects/GLib),
17[ncurses](https://www.gnu.org/software/ncurses/ncurses.html),
18[libxml2](http://xmlsoft.org/), and [Python 3](https://www.python.org/). Exact
19versions can be determined from the `meson.build` in the top-level directory.
20
21On Debian-based systems, install `meson` `ninja-build` `gobject-introspection`
22`libgirepository1.0-dev` `gtk-doc-tools` `libglib2.0-dev` `libxml2-dev`
23`libncurses-dev` `libpython3-dev`.
24
25On Fedora-based systems, install `meson` `ninja-build` `gobject-introspection`
26`gtk-doc` `glib2-devel` `libxml2-devel` `ncurses-devel` `python3-devel`.
27
28You can then run Meson and Ninja as usual (passing any `-D` options if necessary):
29
30```bash
31$ meson build
32$ ninja -C build
33$ ninja -C build install
34```
35
36Notes About Versioning
37----------------------
38
39This code was originally contained in the Pidgin/Finch/libpurple repository.
40Versions were set by the top-level `configure.ac` in that repository. The GNT
41version was independent of Pidgin and Finch and the tag. This repository
42contains the original tags and so you may see multiple tags pointing to the
43same commit. The GNT version *as it was released* is noted in the second column
44of the table below.
45
46A second `configure.ac` was included in the `libgnt` subdirectory that was
47extracted to produce this repository. Unfortunately, we were not consistent
48with updating the version in that copy. It was deemed too much work for little
49gain to go back through the history to correct this error when producing this
50split repository. As such, the third column of the table below contains the
51version *as recorded in `configure.ac`* at the time of a tag.
52
53Beginning with version 2.14.0, the code has been moved to a separate repository
54and so the tag and the version will remain in sync.
55
56Tagged | Released | Recorded
57-------- | ---------- | ----------
58v2.14.1 | 2.14.1 | 2.14.1
59v2.14.0 | 2.14.0 | 2.14.0
60v2.13.0 | 2.8.10 | 2.8.0devel
61v2.12.0 | 2.8.10 | 2.8.0devel
62v2.11.0 | 2.8.10 | 2.8.0devel
63v2.10.12 | 2.8.10 | 2.8.0devel
64v2.10.11 | 2.8.10 | 2.8.0devel
65v2.10.10 | 2.8.10 | 2.8.0devel
66v2.10.9 | 2.8.10 | 2.8.0devel
67v2.10.8 | 2.8.10 | 2.8.0devel
68v2.10.7 | 2.8.9 | 2.8.0devel
69v2.10.6 | 2.8.9 | 2.8.0devel
70v2.10.5 | 2.8.9 | 2.8.0devel
71v2.10.4 | 2.8.9devel | 2.8.0devel
72v2.10.3 | 2.8.9 | 2.8.0devel
73v2.10.2 | 2.8.9 | 2.8.0devel
74v2.10.1 | 2.8.9 | 2.8.0devel
75v2.10.0 | 2.8.9 | 2.8.0devel
76v2.9.0 | 2.8.9 | 2.8.0devel
77v2.8.0 | 2.8.8 | 2.8.0devel
78v2.7.11 | 2.8.7 | 2.8.0devel
79v2.7.10 | 2.8.6 | 2.8.0devel
80v2.7.9 | 2.8.5 | 2.8.0devel
81v2.7.8 | 2.8.5 | 2.8.0devel
82v2.7.7 | 2.8.4 | 2.8.0devel
83v2.7.6 | 2.8.3 | 2.8.0devel
84v2.7.5 | 2.8.2 | 2.8.0devel
85v2.7.4 | 2.8.1 | 2.8.0devel
86v2.7.3 | 2.8.0 | 2.8.0devel
87v2.7.2 | 2.7.2 | 2.7.0devel
88v2.7.1 | 2.7.1 | 2.7.0devel
89v2.7.0 | 2.7.0 | 2.7.0devel
90v2.6.6 | 2.6.6 | 2.6.2devel
91v2.6.5 | 2.6.5 | 2.6.2devel
92v2.6.4 | 2.6.4 | 2.6.2devel
93v2.6.3 | 2.6.3 | 2.6.2devel
94v2.6.2 | 2.6.2 | 2.6.2devel
95v2.6.1 | 2.6.1 | 2.5.0
96v2.6.0 | 2.6.0 | 2.5.0
97v2.5.9 | 2.5.9 | 2.5.6
98v2.5.8 | 2.5.8 | 2.5.6
99v2.5.7 | 2.5.7 | 2.5.6
100v2.5.6 | 2.5.6 | 2.5.6
101v2.5.5 | 2.5.5 | 2.5.0
102v2.5.4 | 2.5.4 | 2.5.0
103v2.5.3a | 2.5.3 | 2.5.0
104v2.5.3 | 2.5.3devel | 2.5.0
105v2.5.2 | 2.5.2 | 2.5.0
106v2.5.1 | 2.5.1 | 2.5.0
107v2.5.0 | 2.5.0 | 2.5.0
108v2.4.3 | 2.4.3 | 2.4.2
109v2.4.2 | 2.4.2 | 2.4.2
110v2.4.1 | 2.4.1 | 2.4.1
111v2.4.0 | 2.4.0 | 2.4.0devel
112v2.3.1 | 2.3.1 | 2.3.1
113v2.3.0 | 2.3.0 | 2.3.0
114v2.2.2 | 2.2.2 | 2.2.0devel
115v2.2.1 | 2.2.1 | 2.2.0devel
116v2.2.0 | 2.2.0 | 2.2.0devel
117v2.1.1 | 2.1.0 | 2.1.0devel
118v2.1.0 | 2.0.0 | 2.0.0devel
119v2.0.2 | 1.0.2 | 1.0.0beta7
120v2.0.1 | 1.0.1 | 1.0.0beta7
121v2.0.0 | 1.0.0 | 1.0.0beta7
122